我对java很新,过去一年我用python和C ++获得了一些编程经验;但是,我觉得java更令人困惑。我在这里尝试做的是通过使用for循环来确定数字(用户输入)是否为素数。这是我到目前为止的代码:
public static boolean isPrime(int x)
{
boolean prime = true;
if (x % 2 == 0)
prime = false;
if (x % 2 != 0)
{
for (int i = 3; i*i <= x; i+=2)
{
if (x % i == 0)
prime = false;
}
}
return prime;
}
我已经坚持了很长一段时间,如果有人能帮我解决这个问题,那就太棒了。
答案 0 :(得分:0)
您的解决方案对于1返回true,对于2
返回falsepublic static boolean isPrime(int x)
{
if(x<2)
return false;
if(x==2)
return true;
// boolean prime = true; you dont need the variavle
if (x % 2 == 0)
return false;
// using return is faster as you dont need to do more conditions
// also, you dont need the if. You could use else, if you dont want to return
// immediately
for (int i = 3; i*i <= x; i+=2)
{
if (x % i == 0)
return false;
}
return true;
}