Java - for循环中的死代码

时间:2012-12-24 11:34:39

标签: java loops for-loop

我在i++的for循环中收到了死代码警告。为什么我会这样做,我该如何解决这个问题?

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

4 个答案:

答案 0 :(得分:12)

您总是立即退出循环,因此i永远不会增加。

    if(p % i == 0);         
        return false;

应该是

    if(p % i == 0)       
        return false;

在第一个版本中,if语句后面有一个空子句(由于第一个分号)。因此,return false始终执行。退出方法,i++永远不会执行。

答案 1 :(得分:7)

if声明后删除分号。

答案 2 :(得分:3)

问题出在这一行:

if(p % i == 0); 

删除分号,然后重试

答案 3 :(得分:1)

如果您的代码已展开,则会变为

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