JAVA数字线错误
我正在努力使下面的数字行是JavaJAVA数字线错误,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 {
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(包括)之间的数字。