2

这是我的声明

while(coord.getRow() || coord.getColumn() != 0)

我基本上希望它在 x 坐标和 y 坐标不为 0 时循环。然后在其中一个等于 0 时停止执行。对象线的行和列都是整数。

就像我收到错误的标题一样:

error: bad operand types for binary operator '||'

我可以去执行一个while循环来做这样的事情吗?

4

3 回答 3

2
while(coord.getRow() != 0 && coord.getColumn() != 0)

代替

while(coord.getRow() || coord.getColumn() != 0)
于 2013-10-21T02:10:40.777 回答
2

尝试:

while((coord.getRow() != 0) && (coord.getColumn() != 0)) {
    // etc...
}

您必须在&&此处使用而不是||,因为您想在其中一个等于 0 时停止,因此在您的 while 情况下,您必须确保两者都不为零。

错误的原因是Java 中的||和之类的逻辑运算符需要逻辑表达式。&&换句话说,可以评估为真或假的东西。

由于您的函数返回整数,因此这些在逻辑上无效。然而,类似的东西coord.getRow() != 0是真还是假,取决于是什么coord.getRow()

于 2013-10-21T02:11:00.087 回答
0

采用:

while(coord.getRow() != 0 && coord.getColumn() != 0)

使用 &&(and) 运算符代替||(or)。

&&如果两者都为真,||则为真,如果任何一个为真,则为真。

于 2013-10-21T02:11:36.447 回答