我在 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;
}