这个JAVA程序哪错了

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:02:16
import java.util.*;
public class Factorial
{ public void main(String[] args)
{ Factorial ff = new Factorial();
for(int i=0;i<5;i++)
{ff.setInitVal(2*(i+1));
ff.result=Factorial(ff.initVal);
ff.print();
}
}
public static Factorial(int n)
{ if(n==0) return 1;
return n*Factorial(n-1);
}

public void print()
{ System.out.println(initVal+"!="+result);
}

public void setInitVal(int n)
{ initVal=n;
}

private int result,initVal;
}
这程序哪错了 本人菜鸟 希望有人能告诉我

错误很多:
1.Factorial ff = new Factorial();
你没有定义无参的构造方法

2.public static Factorial(int n)
{ if(n==0) return 1;
return n*Factorial(n-1);
}
构造方法不能用static
构造方法不能有返回值

3.ff.result=Factorial(ff.initVal);
2中的错误导致这里不能以这种方式进行赋值

没分,不干