【发布时间】:2013-10-01 03:17:09
【问题描述】:
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 中的一个错误,但有人可以确认他们以前是否见过它?
【问题讨论】:
-
这可能是因为您为
ret设置了值,但您在再次设置之前从未使用过该值,因此while((ret = f()) == 0)和while(f() == 0)之间没有区别。 -
你说得对,这是一个错误,但事实上这是愚弄 Netbeans 和这里的几个人(包括我自己)应该建议使用更清晰的代码。我会为每个函数的返回使用不同的变量。
-
谢谢大家。 madth3 说得好,虽然 Netbeans 有错误,但要欺骗几个人以及 Netbeans 就足够棘手了,所以我将通过使用不同的变量来澄清它。
标签: netbeans