我写了一个简单的函数来计算一个数的阶乘,但是从34开始返回0。实际上应该是从51开始返回0。
public class Métodos {
public int factorial (int numero ){
if ((numero <0)||(numero>50)){
return 0;
}
else if ((numero == 0)||(numero == 1)){
return 1;
}
else{
return numero * factorial(numero -1);
}
}
}
谢谢!
编辑:
好的,我该怎么检查?因为它说int无法转换为bigInteger。
public static void main(String[] args) {
// TODO code application logic here
Métodos metod = new Métodos();
System.out.print("El resultado es : " + metod.factorial(-12)+ "\n");
System.out.print("El resultado es : " + metod.factorial(-1)+ "\n");
System.out.print("El resultado es : " + metod.factorial(0)+ "\n");
System.out.print("El resultado es : " + metod.factorial(1)+ "\n");
System.out.print("El resultado es : " + metod.factorial(5)+ "\n");
System.out.print("El resultado es : " + metod.factorial(51)+ "\n");
System.out.print("El resultado es : " + metod.factorial(520)+ "\n");
}