我在一个for循环中的 i++
处收到了死代码警告。为什么会出现这种情况,我该如何解决这个问题?
public static boolean Method(int p) {
for(int i = 2; i < p; i++) { // here is the problem, at i++
if(p % i == 0);
return false;
}
return true;
}
我在一个for循环中的 i++
处收到了死代码警告。为什么会出现这种情况,我该如何解决这个问题?
public static boolean Method(int p) {
for(int i = 2; i < p; i++) { // here is the problem, at i++
if(p % i == 0);
return false;
}
return true;
}
您总是立即退出循环,因此 i
永远不会增加。
if(p % i == 0);
return false;
应该是
if(p % i == 0)
return false;
在第一个版本中,if语句后面是一个空的子句(由于第一个分号)。因此,return false
语句总是会执行。您退出方法,而 i++
从未执行。if
语句后面删除分号。if(p % i == 0);
移除分号,然后再试一次
public static boolean Method(int p) {
for(int i = 2; i < p; i++) { // here is the problem, at i++
if(p % i == 0)
{
}
return false; //If you give return statement here then how it will work.
}
return true;
}