-4
我创造了这个循环找素数,该int num
初始化为0,但调试总是跳过1 (这是正确的)和2 (这是不正确)。为什么这个if条件总是排除2?
它怎么会总是跳过2 % 2 == 0
?
for (int num = 0; num <= 100; num++) {
for (int j = 2; j < num; j++) {
if (num % j == 0) {
System.out.println(num + " is not a prime number.");
break;
}
if (num - j == 1) {
System.out.println("PRIME NUMBER FOUND! It's: " + num + ".");
myPrimeNumbers.add(num);
}
}
}
'2(j)<2(num)'是'false',这就是为什么内部循环没有执行 –
谢谢,只是需要添加'<=' – kebabjoe
'<='不行,你需要从循环中分别处理'2' –