【发布时间】:2013-12-22 19:08:16
【问题描述】:
我正在有效地尝试以二进制形式编写多位 if 语句。如果 val 为真,我想返回 x 的正确值。但是,如果 val 为假,我想将数组的所有值都返回为假。 这实际上与根据 val 的值检查数组中的所有值相同。为什么这不起作用?
boolean[] ifStatement(bit0, bit1, bit2, bit3, val) {
boolean[] x = {bit0, bit1, bit2, bit3};
return (x && val);
}
在回答 cmets 问我的问题是什么意思时,以下是在程序 Logisim 中使用 8 位与门的表示:
我也知道使用 for 语句很容易做同样的事情。我的问题是为什么示例代码不可能?
提前致谢。
【问题讨论】:
-
因为
boolean[]不是boolean... -
请查看您所询问的运算符可接受的操作数。
-
试试
for(int i = 0; i < x.lenght(); i++) if(x[i] != val) return false; return true -
你不能问“为什么它不起作用”,直到你至少有一个论据的草图应该起作用。
-
@MarkoTopolnik:为了公平起见,这个标题实际上是被编辑的。