错误:二元运算符'||'的错误操作数类型

时间:2013-10-21 02:08:51

标签: java

这是我的陈述

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

我基本上希望它循环,而x坐标和y坐标不是0.然后当等于0时停止执行。对象线的行和列都是整数。

与标题一样,我收到错误:

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

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

3 个答案:

答案 0 :(得分:2)

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

而不是

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

答案 1 :(得分:2)

尝试:

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

你必须在这里使用&&而不是||,因为你想在 等于0时停止,所以在你的情况下你必须确保两个都不为零。

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

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

答案 2 :(得分:0)

使用:

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

使用&&(和)运算符代替||(或)。

&&如果另一方面||为真,如果任何一个为真,则为真。