public static boolean isPrime(int number)
{
boolean result = true;
if (number == 0)
{
result = false;
}
for (int i=2; i < number/2; i++)
{
if (number % i == 0)
{
result = false;
}
}
return result;
}
知道为什么当 int number = 4 时结果返回 true 吗?我可以做什么来解决这个问题?我对我的代码很满意,但为什么 4 返回 true?
最佳答案
for (int i=2; i < number/2; i++)
如果您输入4
在这里,它永远不会进入循环,因为
2 < 4 / 2
从不等于true
(2不小于2)。
相反,请使用 <=
.
关于java - java中的素数测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134469/