階乗法を 2 つの異なる方法で実行しようとしています。最初のものは、印刷するのに最適な反復方法です。void ではなく int メソッドである再帰メソッドを出力するのに苦労しています。入力を反復的な方法と同じように使用して、再帰的な方法をどのように出力しますか? どんな助けでも大歓迎です。メインで各メソッドを呼び出そうとしています。
Java コード:
import java.util.Scanner;
public class Factorial
{
public static void main(String[] args)
{
System.out.println("Enter a number");
Scanner input = new Scanner(System.in);
int fact = input.nextInt();
//Call the iterative method
int ifact = iFactorial(fact);
System.out.println("The factorial iteratively is: " + ifact);
//Call the recursive method
int rfact = rFactorial(fact);
System.out.println("The factorial recursively is: " + rfact);
}
//Iterative method starts
public static int iFactorial(int fact)
{
for(int i = fact-1; i > 0; i--)
{
fact *= i;
}
return fact;
}
//Iterative method ends
//Recursive method starts
public static int rFactorial(int fact)
{
if(fact == 1)
{
return 1;
}
else
{
return fact * rFactorial(fact-1);
}
}
//Recursive method ends
}