我想了解Java中的遞歸方法,並嘗試使用這種簡單的方法來計算階乘。 不知何故,它不起作用。有人能告訴我爲什麼嗎?Java中的遞歸方法不起作用。有任何想法嗎?
public class FactorialRecursive extends ConsoleProgram {
public void run() {
println("This program calculates the factorial of an integer n.");
int n = readInt("Please insert n: ");
int result = factorial(n);
println("The factorial of " + n + " is " + result);
}
private int factorial(int n) {
int total;
if (n == 1) total = 1;
total = n * factorial(n - 1);
return (total);
}
}
只要它下來到n == 1,你應該返回否則你還是去到階乘,從不出來再 – pengibot
調試是你的朋友,你會發現在一分鐘平坦的錯誤:-) – pengibot