3

Netbeans 7.3.1 IDE 在以下程序的指示行中说“从未使用分配的值”:

public class JavaTest {
    static int f() {
        return Math.random() < 0.9 ? 0 : 1;
    }

    static int g() {
        return Math.random() < 0.2 ? 0 : 1;
    }

    public static void main(String[] args) {
        int ret;
        while ((ret = f()) == 0) {  // Unused assignment???
            ret = g();
            if (ret != 0)
                System.out.println(ret);
        }

        System.out.println(ret);
    }
}

我想这是 Netbeans 中的一个错误,但有人可以确认他们以前是否见过它?

4

1 回答 1

3

编辑:很好,很抱歉我没有早点看到它。我现在同意你的看法,我可以用你在 Eclipse Juno SR2 中的确切代码确认没有关于未使用分配的警告。Netbeans 出错了!

原文:Netbeans 是正确的...您在该行之后立即为 ret 分配一个新值,因此您不妨将 f() 与 0 进行比较,例如while(f() == 0)

于 2013-09-30T14:53:43.467 回答