java - 在 Java 中计算阶乘并打印步骤

标签 java

以下 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/

相关文章:

java - Android 渲染和逻辑线程

java - 如何覆盖 liferay 中的日历 portlet?

java - 在 C++ 中从 JNI 调用 Java Jar 代码

Javafx 将 ActionListener 添加到按钮

java - 静态和非静态同步,为什么输出结果不同?

Java错误: Cannot find symbol (when calling an arrayList with add)

java - Horizo​​ntalScrollView的scrollTo不会滚动到 View 的原始宽度之上

java - 图像不会显示在 JPanel 上

java - 按极角排序

java - 由于 Gradle 失败 : Could not find javax. xml.datatype.DatatypeFactory,无法编译任何 Android 项目