我正在用 java 测试很多选项,所以我想在 java 中做一个简单的递归函数。
我使用控制台执行程序,它接收一个参数,但当我尝试使用任何应该大于 1 的参数进行递归时,它总是显示 0。
public class rec{
public static void main (String[] args) {
int h = 0;
int numero = Integer.parseInt(args[0]);
int factor = 0;
if ( numero == 0 || numero == 1){
System.out.println(1);
} else {
int xpi = factorial(numero-1);
System.out.println(factor);
}
}
public static int factorial (int n){
System.out.println("lol");
if(n==0) {
return 0;
} else{
return n* (n-1);
}
}
}
最佳答案
看看你的这些代码行:
int xpi = factorial(numero-1);
System.out.println(factor);
您将函数的结果放入xpi
变量,然后打印factor
变量。打印 xpi
应该可以。
System.out.println(xpi);
关于java - 简单的递归阶乘函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35095807/