我正在练习过去的基础java考试的考试试卷,我发现很难做一个for循环工作来测试一个数字是否是素数.我不想通过为更大的数字添加效率测量来使其复杂化,这只是至少适用于2位数字的东西.
目前,即使n是素数,它总是返回false.
我认为我的问题是我在for循环本身出错了,在哪里放"return true".并且"返回虚假;"......我确信这是我犯的一个非常基本的错误......
public boolean isPrime(int n) {
int i;
for (i = 2; i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我无法在stackoverflow上找到其他帮助的原因是因为类似的问题要求更复杂的实现以获得更有效的方法.