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中的一个错误,但有人可以确认他们之前是否已经看过它?
答案 0 :(得分:3)
编辑: 优点和对不起我没有早点看到它。我现在同意你的看法,我可以用Eclipse Juno SR2中的确切代码确认没有关于未使用的分配的警告。 Netbeans出错了!
原件:
Netbeans是正确的...你立即在该行之后指定一个新的值,所以你也可以将f()比较为0,例如while(f() == 0)