二元运算符编译错误的错误操作数类型

时间:2015-05-17 05:41:33

标签: java arrays multidimensional-array compiler-errors operators

对于我正在制作的游戏,我需要在10x10游戏板上放置类似俄罗斯方块的棋子。

如果玩家试图将棋子放在棋盘外的单元格上,我想返回“offboard”

为此,我已经制作了一个初始方法,如果该片段为offfboard,则返回true。

x和y是我使用带有10行10列的2d数组制作的电路板坐标

如果作品的任何部分超出游戏板区域,我想打印一个字母“offboard”。

    //Return true if the cell is offboard
    private boolean isOffBoard(int x, int y){
        if(board[x][y] < 0 || board[x][y] > 9){
            return true;
        }
        return false;
    }

但是当我尝试编译时,它给出了一个错误说:

二元运算符'&lt;'

的错误操作数类型

首先输入Sqaure,第二个输入int

据我所知,我使用的运算符和数字与主板的2d数组结构不匹配,但我真的不知道如何修复它以使其正常工作。

我真的需要帮助解决这个错误,所以我可以继续编写剩下的游戏。

1 个答案:

答案 0 :(得分:2)

您正在尝试将Square0(以及9)进行比较。而不是尝试与电路板的内容进行比较,与数组的大小进行比较。 (另外,请勿使用if...return true。只需返回值。)

private boolean isOffBoard(int x, int y){
    return (x < 0 || y < 0 || x >= board.length || y >= board[x].length);
}