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);
}
}