我正在为基本的 Java 考试练习过去的试卷,我发现很难让 for 循环工作来测试一个数字是否是素数。我不想通过为更大的数字添加效率措施来使其复杂化,只是至少适用于 2 位数的数字。
目前,即使 n 是素数,它也总是返回 false。
我认为我的问题是我对 for 循环本身以及将“返回真”放在哪里有问题;和“return false;”......我敢肯定这是我犯的一个非常基本的错误......
public boolean isPrime(int n) {
int i;
for (i = 2; i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
我在 stackoverflow 其他地方找不到帮助的原因是因为类似的问题要求更复杂的实现以更有效的方式实现。