【发布时间】:2011-11-10 20:42:25
【问题描述】:
这让我发疯了,因为它完全违反了我调试它的尝试:
int k = keyCode; //keyCode being a variable declared by a keyPress
//in the Processing library
//k and keyCode are working properly.
if ((k - UP)*500 == 0); //int UP=38;
{
println((k-UP)*500 == 0);
//some other code here
}
结果? “假”(并通过删除 '== 0',一个非 0 的数字)。 据我所知,只有当您使用箭头键时(k==37,38,39,40;38 向上)才能使此条件成立。
是否存在任何此类不一致之处,可能是什么原因造成的? (条件的奇怪格式是因为它修复了一个类似的问题,即仅使用 k==RIGHT 时 RIGHT 键无法正常工作)。
【问题讨论】:
-
删除 ;在 if 语句的末尾
-
IntelliJ 会警告你 if 的空正文
-
这就是为什么大括号属于 if 行的末尾!
-
不会有什么帮助。我在埃及牙套上也看到过同样的错误。
-
我会结束这个,因为这个问题很简单,而且很不相关。 +1 诚实。顺便说一句,same problem, different language,这发生在我们所有人身上。
标签: java syntax processing conditional-statements