这是我的声明
while(coord.getRow() || coord.getColumn() != 0)
我基本上希望它在 x 坐标和 y 坐标不为 0 时循环。然后在其中一个等于 0 时停止执行。对象线的行和列都是整数。
就像我收到错误的标题一样:
error: bad operand types for binary operator '||'
我可以去执行一个while循环来做这样的事情吗?
这是我的声明
while(coord.getRow() || coord.getColumn() != 0)
我基本上希望它在 x 坐标和 y 坐标不为 0 时循环。然后在其中一个等于 0 时停止执行。对象线的行和列都是整数。
就像我收到错误的标题一样:
error: bad operand types for binary operator '||'
我可以去执行一个while循环来做这样的事情吗?
while(coord.getRow() != 0 && coord.getColumn() != 0)
代替
while(coord.getRow() || coord.getColumn() != 0)
尝试:
while((coord.getRow() != 0) && (coord.getColumn() != 0)) {
// etc...
}
您必须在&&
此处使用而不是||
,因为您想在其中一个等于 0 时停止,因此在您的 while 情况下,您必须确保两者都不为零。
错误的原因是Java 中的||
和之类的逻辑运算符需要逻辑表达式。&&
换句话说,可以评估为真或假的东西。
由于您的函数返回整数,因此这些在逻辑上无效。然而,类似的东西coord.getRow() != 0
是真还是假,取决于是什么coord.getRow()
。
采用:
while(coord.getRow() != 0 && coord.getColumn() != 0)
使用 &&
(and) 运算符代替||
(or)。
&&
如果两者都为真,||
则为真,如果任何一个为真,则为真。