以下 Java 代码计算给定数字的阶乘并打印中间步骤。
public class Factorial {
public static int getFactorial(int number) {
int n = number;
int factorial = 1;
while(n > 1) {
factorial *= n;
n--;
System.out.println(factorial + " * " + n + " = " + factorial);
}
return factorial;
}
}
调用该方法时:
Factorial.getFactorial(4);
应该打印到控制台,如下所示:
4 * 3 = 12
12 * 2 = 24
24 * 1 = 24
但是它会打印如下内容:
4 * 3 = 4
12 * 2 = 12
24 * 1 = 24
我做错了什么?
最佳答案
发生这种情况是因为您仅打印 factorial
变量。替换:
System.out.println(factorial + " * " + n + " = " + factorial);
与:
System.out.println(factorial + " * " + n + " = " + factorial * n);
关于java - 在 Java 中计算阶乘并打印步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22293331/