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 に答える