基础题,关于调用方法的阶乘 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); } } }
/ / / 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
------解决方案--------------------