java - 为什么 for 循环在我的 Java 程序中迭代的次数超过给定条件

标签 java for-loop factorial

我正在尝试使用 for 循环(具有迭代次数)查找整数的因式分解,但输出超过指定的循环次数。

我在笔记本电脑上编写了相同的代码,但在特定的迭代次数且不超过的情况下,它运行良好。

public class Test {
    public static void main(String args[]) {
        int n=5;
        for(int a=1; a<=n; a++ ) {
            n=a*n;
            System.out.println(n);
        }
    }
}

输出

5
10
30
120
600
3600
25200
201600
1814400
18144000
199584000
-1899959296

最佳答案

您正在循环中更改 n 的值,因此它会迭代更多。使用另一个变量来计算循环次数,例如

public class Test {
    public static void main(String args[]) {
        int n=5, counter=5;
        for(int a=1; a<=counter; a++ ) {
            n=a*n;
            System.out.println(n);
        }
    }
}

关于java - 为什么 for 循环在我的 Java 程序中迭代的次数超过给定条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57849651/

相关文章:

java - Spring集成多个FTP主机(DefaultFtpSessionFactory)

java - 从一个jsp调用另一个jsp

java - 在最后两行不相同的每一行上写0's and 1'

java - 如何写出更优雅的代码? (阶乘、BigDecimals、除以 BigIntegers)

java - 在 jsp 中显示 hibernate 查询结果的最佳方式

c - 为什么我的 for 循环没有在 C 中给出预期的输出?

c - 如何将一个指针指向的地址分配给另一个本地指针

Java 计算 C(n,k) 和带有大整数的阶乘

C 处理大数的阶乘

java - 如何使用 Spring/DWR 编码 javax.xml.datatype.Duration Java <--> JS