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);  
}  

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

解决方案 »

  1.   

    方法最后没有return 语句。
      

  2.   

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

  3.   

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

  4.   

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

  5.   

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

  6.   

    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