+ -
当前位置:首页 → 问答吧 → 基础题,关于调用方法的阶乘

基础题,关于调用方法的阶乘

时间:2011-10-07

来源:互联网

public class Jiecheng2 {
  public static long fac(int n){
int sum=1;
  int count = 0;
  for(int i=1;i<=n;i++){
  sum=sum*i;
  count+=sum;
}
}
public static void main(String args[]){

long an=0;
int j=1;
int n = 10;
for(j=1;j<=n;j++){
an=an+fac(j);
System.out.println(an);
}
  }
}

eclipse一直提示红色字体那里有问题,说该方法返回的类型必须是long
我把方法里面的全部换成long都不行...请问哪里错了

/
/
/
public class Jiecheng 

 public static long fac(int n) 
 {
long res=1; 
  for(int k=2;k<=n;k++) 
  res*=k; 
  return res;
 } 
public static void main(String args[])  
{
  long sum=0;
  int i=1,n=10; 
  for(i=1;i<=n;i++) 
  sum+=fac(i); 
  System.out.println("前"+n+"项阶乘的为:"+sum);  
}  

//下面的这个方法又行了。。

作者: iamczm   发布时间: 2011-10-07

方法最后没有return 语句。

作者: huntor   发布时间: 2011-10-07

你后面写的方法有return,前面的没有。

作者: huntor   发布时间: 2011-10-07

long fac(int n)
{
  return long型数据;
}
。。。童鞋就没有发现你的函数没有返回么。。。

作者: ITkey   发布时间: 2011-10-07

引用 2 楼 huntor 的回复:

你后面写的方法有return,前面的没有。

我在后面加了return count;还是不行

作者: iamczm   发布时间: 2011-10-07

引用 3 楼 itkey 的回复:

long fac(int n)
{
return long型数据;
}
。。。童鞋就没有发现你的函数没有返回么。。。

我在后面加了return count;
还是不行

作者: iamczm   发布时间: 2011-10-07

public class Jiecheng2
 { 
  public static long fac(int n)
  {
int sum=1;
  int count = 0;
  for(int i=1;i<=n;i++)
  {
  sum=sum*i;
  count+=sum;
}
return count;
}
public static void main(String args[])
{
long an=0;
int j=1;
int n = 10;
for(j=1;j<=n;j++)
{
an=an+fac(j);
System.out.println(an);
}
  }
}
运行结果如下:
1
4
13
46
199
1072
6985
53218
462331
4500244

作者: qq1871343189   发布时间: 2011-10-07

引用 5 楼 iamczm 的回复:

引用 3 楼 itkey 的回复:

long fac(int n)
{
return long型数据;
}
。。。童鞋就没有发现你的函数没有返回么。。。

我在后面加了return count;
还是不行

return 放错地方了吧

作者: TKD03072010   发布时间: 2011-10-07

热门下载

更多