Java 我有困难需要帮助

Java 我有困难需要帮助,java,Java,我试图制作一个简单的程序来计算所有的素数,但出于某种原因,这个程序的输出是: 0123 建设成功 这是我的密码: public static void main(String[] args) { boolean per = true; for(int num = 0;;num++) { per = true; for(int div = 1;div<=num;div++) { if(nu

我试图制作一个简单的程序来计算所有的素数,但出于某种原因,这个程序的输出是:

0
1
2
3
建设成功

这是我的密码:

    public static void main(String[] args)
{
    boolean per = true;
    for(int num = 0;;num++)
    {
        per = true;
        for(int div = 1;div<=num;div++)
        {
            if(num % div != 0)
            {
                per = false;
            }
        }
        if(per == true)
        {
            System.out.println(num);
        }
    }
}
publicstaticvoidmain(字符串[]args)
{
布尔per=true;
for(int num=0;num++)
{
per=真;
对于(int div=1;div您的逻辑是关闭的

尝试使用System.out.println(…)遍历代码(或使用调试器)

这告诉你,显然你应该从2开始循环,因为所有的数字都可以被1整除

如果将内部循环更改为:

(int div = 2; div < num; div++)

(请注意,我从2开始外部循环,因为0和1通常不被视为素数。

您是否尝试过使用调试器?是的,我几乎尝试过使用任何调试器,并在过去的4个小时内研究了这个问题。您是否在研究中加入了在白板上用几个示例浏览代码的内容?还有一些性能改进nts,在for循环上,您可以执行div,而不是div0 is prime 1 is divisible by 1 2 is divisible by 1 3 is divisible by 1 4 is divisible by 1 5 is divisible by 1 6 is divisible by 1 7 is divisible by 1 8 is divisible by 1 9 is divisible by 1
(int div = 2; div < num; div++)
2 is prime
3 is prime
4 is divisible by 2
5 is prime
6 is divisible by 2
7 is prime
8 is divisible by 2
9 is divisible by 3