我的代码之前工作正常,现在它不再编译了。我已经搜索了缺失的返回语句一段时间但仍然无法找到它......这是代码:
private static boolean Prime(int x){
for(int i=1;i<x;i++)
{
if(x%i==0){
return false;
}
return true;
}
}
}
答案 0 :(得分:2)
最后一次返回不应该是一个结束大括号吗?
private static boolean Prime(int x){
for(int i=1;i*i<x;i++)
{
if(x%i==0){
return false;
}
}
return true;
}
并且,作为旁注,您可以在x的平方根处停止for循环。
i * i < x
或
i < sqrt(x)
我在缩进的代码块中更新了条件。
答案 1 :(得分:1)
如果使用缩进,很容易看到问题:
private static boolean Prime(int x) {
for (int i = 1; i < x; i++) {
if (x % i == 0) {
return false;
}
return true;
}
}
}