JAVA数字线错误

JAVA数字线错误,java,Java,我正在努力使下面的数字行是Java 2,3,5,7,11,13,17 (Prime Numbers) 我试过了 for(int i=0;i已编辑 代码中有很多错误,首先第二个循环是无限循环,第二个循环是System.out.println行不应该在第二个循环中,它应该在第一个循环的末尾!如果你把它放在第二个循环中,它会打印数百次数字。 这是正确的代码: for(int i = 2; i <= 100; i++)//begin loop from 2 instead of 0 {

我正在努力使下面的数字行是Java

2,3,5,7,11,13,17 (Prime Numbers)
我试过了

for(int i=0;i已编辑
代码中有很多错误,首先第二个循环是无限循环,第二个循环是
System.out.println
行不应该在第二个循环中,它应该在第一个循环的末尾!如果你把它放在第二个循环中,它会打印数百次数字。 这是正确的代码:

for(int i = 2; i <= 100; i++)//begin loop from 2 instead of 0
{   
    boolean flag = true;
    for(int j = 2; j < i; j++)
    {
        if(i % j == 0)
        {
            flag = false;
            break;
        }      
    }  
    if(flag)System.out.print(i + ",");
}
for(int i=2;i已编辑
代码中有很多错误,首先第二个循环是无限循环,第二个循环是
System.out.println
行不应该在第二个循环中,它应该在第一个循环的末尾!如果你把它放在第二个循环中,它会打印数百次数字。 这是正确的代码:

for(int i = 2; i <= 100; i++)//begin loop from 2 instead of 0
{   
    boolean flag = true;
    for(int j = 2; j < i; j++)
    {
        if(i % j == 0)
        {
            flag = false;
            break;
        }      
    }  
    if(flag)System.out.print(i + ",");
}

for(int i=2;i您的代码非常糟糕,但只需进行少量更改即可生成以下代码:

outerLoop:
for(int i = 0; i <= 100; i++) {
    if(i < 2) {
        continue;
    }
    for(int j = 2; j < i; j++) {
        if(i % j == 0) {
            continue outerLoop;
        }    
    }    
    System.out.print(i + ",");
}
outerLoop:

对于(int i=0;i而言,您的代码非常糟糕,但使其正常工作所需的最少更改会产生以下代码:

outerLoop:
for(int i = 0; i <= 100; i++) {
    if(i < 2) {
        continue;
    }
    for(int j = 2; j < i; j++) {
        if(i % j == 0) {
            continue outerLoop;
        }    
    }    
    System.out.print(i + ",");
}
outerLoop:

对于(int i=0;i在第二个for循环中,你应该把它作为你的条件:
j
,而不是
j<1
。如果我把i,5,5,5,7,7,7,7,7,7,7,9,11,11,11,11,11,11,13,13,13,13,15,17,17,17,17,17,17,17,17,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19在第二个for循环中,你应该把它作为你的条件:
j
,而不是
j<1
。那么这就是如果我把i,5,5,5,7,7,7,7,7,7,7,7,7,9,11,11,11,11,11,11,11,13,13,13,13,15,17,17,17,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17请用代码格式的文本回答您的问题。
i
不能等于
j
,因为您将
j
循环到
i
,而不是包括
i
。这将不起作用-它将以任何方式打印数字。
i!=j
部分是不必要的,因为
j
。事实上,@Nulano,
SSystem.out.print(i+“,”);
需要放在
中断之前;
@Gooz No,这只会打印非素数。@Zeus IntelliJ比较
i!=j
,输出的都是2到100之间的数字(包括在内).
i
不能等于
j
,因为您将
j
循环到
i
,而不到并包括
i
。这将不起作用-它将以任何方式打印数字。
i!=j
部分是不必要的,因为
j
。事实上,@Nulano,
System.out.print(i+“,”);
需要放在
中断之前;
@Gooz No,这只会打印非素数。@Zeus IntelliJ比较
i!=j
的情况,输出的都是2到100(包括)之间的数字。