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);
}
}
//下面的这个方法又行了。。
------解决方案--------------------
方法最后没有return 语句。
------解决方案--------------------
你后面写的方法有return,前面的没有。
------解决方案--------------------
long fac(int n)
{
return long型数据;
}
。。。童鞋就没有发现你的函数没有返回么。。。
------解决方案--------------------
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
------解决方案--------------------