我的代码在以前完美工作,现在它不再编译。我已经寻找了一段时间缺少return语句,但仍无法找到它...以下是代码:错误:缺少return语句
private static boolean Prime(int x){
for(int i=1;i<x;i++)
{
if(x%i==0){
return false;
}
return true;
}
}
}
我的代码在以前完美工作,现在它不再编译。我已经寻找了一段时间缺少return语句,但仍无法找到它...以下是代码:错误:缺少return语句
private static boolean Prime(int x){
for(int i=1;i<x;i++)
{
if(x%i==0){
return false;
}
return true;
}
}
}
不应该最后回报是一个后右大括号?
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)
我更新在缩进代码块中的条件。
感谢您的帮助! – Nicolas 2012-02-07 00:11:17
可以很容易地看到一个问题,如果你使用缩进:
private static boolean Prime(int x) {
for (int i = 1; i < x; i++) {
if (x % i == 0) {
return false;
}
return true;
}
}
}
有什么特别的原因,为什么你不缩进代码?你会惊讶地发现错误很容易。 (另外,这不是以JavaScript开始的......) – Tomalak 2012-02-06 23:10:56
(对于编辑者:请不要尝试通过缩进代码来改进问题。代码不缩进的事实是问题的整个*点* ) – Tomalak 2012-02-06 23:30:44
我会从现在开始缩进我的代码...谢谢 – Nicolas 2012-02-07 00:11:42