首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

基础题,关于调用方法的阶乘解决思路

2012-01-22 
基础题,关于调用方法的阶乘public class Jiecheng2 {public static long fac(int n){ int sum1int count

基础题,关于调用方法的阶乘
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
[解决办法]

探讨

引用:

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

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

热点排行
Bad Request.