私は、再帰を使ってfactorialRecursiveメソッドで入力階乗を計算しようとしていますが、そのメソッド内の変数やオブジェクトを宣言することはできません。メソッドは既に動作していますが動作しません。これは、forループではなくforループで自分自身を呼び出す必要があります。新しい変数なしで階乗を計算するために再帰を使用する
class Factorial{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number;
do {
System.out.print("Enter a positive number: ");
number = input.nextInt();
} while (number < 0);
System.out.println(number + "! = " + factorialIterative(number) + " (iterative)");
System.out.println(number + "! = " + factorialRecursive(number) + " (recursive)");
}
private static int factorialIterative(int num) {
int result = 1;
while (num > 0) {
result = num*result;
num--;
}
return result;
}
private static int factorialRecursive(int num){
if (num==1 | num==0)
return 1;
return num*(num-1) * num;
}
}
**階乗再帰は** ** Javaで**このサイトで何回も処理されました。これらの3つのキーワードを検索すると、十分なヒットが得られます。そのうちの1つがクロージャ投票に入ります。 – Prune