错误:缺少return语句

时间:2012-02-06 23:09:14

标签: return

我的代码之前工作正常,现在它不再编译了。我已经搜索了缺失的返回语句一段时间但仍然无法找到它......这是代码:

private static boolean Prime(int x){        
for(int i=1;i<x;i++) 
{
if(x%i==0){
return false;
}   
return true;
}
}
}

2 个答案:

答案 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;
    }
}
}