小白阶乘调用方法哪里不对,出不了结果?(在职业路径提问等了2天没助教回答,只能放这里求大神)

//阶乘用方法调用

public class FacDemo {
//带参有返回值
 public static void main(String[] args) {
  //创建对象
  FacDemo f=new FacDemo();
  System.out.println("你输入一个数:");
  Scanner a=new Scanner(System.in);
  int sum=0;
  for(int i=1;i<=a.nextInt();i++){
   sum=sum+f.fac(i);
  }
  System.out.println(a.nextInt()+"的阶乘和为:"+sum);
 }
 
 //创建一个方法
 public int fac(int n){
  int s=1;
  for(int i=1;i<=n;i++){
   s=s*i;
  }
  return s;
 }

Ghostless
浏览 1829回答 3
3回答

Camel97

把你主函数的for循环删除。改成 sum=f.fact(a.nextInt()); 你的fact函数算的就是阶乘。你主函数加个for循环你想想你算的究竟是什么。

Jason333

 for(int i=1;i<=a.nextInt();i++){   sum=sum+f.fac(i);  }System.out.println(a.nextInt()+"的阶乘和为:"+sum);这里有问题,a.nextInt()每次都会等待你输入,下面同理

Camel97

是要这样吗。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java