java—如何将值与2d数组进行比较?

xxe27gdn  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(435)

我试图从扫描器中获取用户输入,然后他们使用所说的值将其与二维数组中的值进行比较

public void valid(int tempRow, int tempCol){
        if(board[tempRow][tempCol] = "W"){
            display();
        } else {
            System.out.println("Move invalid, try again");
            makeMove();
        }
        setPiece(tempRow, tempCol, "W");
        display();
    }

这个 if(board[tempRow][tempCol] = "W"){ 返回错误:

incompatable types: java.langString cannot be converted to boolean

这是我要比较的数组:

String[][] board = {{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"},{"-", "-", "-", "-", "-", "-", "-", "-"},
    {"-", "-", "-", "-", "-", "-", "-", "-"}};

举个例子,我想用用户输入的行和列,假设它们是row1col1。然后我想把它们和数组进行比较,看看 board[1][1] = "W" 如果是这样的话,那就换一块。谢谢您的帮助。

ymzxtsji

ymzxtsji1#

声明

if(board[tempRow][tempCol] = "W")

指:
将字符串“w”赋给 board[tempRow][tempCol] 检验结果是否正确。
当然,这是无法做到的,因为字符串不是布尔值。
你想用 == 而不是 = . 但这也是错误的。使用 .equals() 用于字符串比较。

xmd2e60i

xmd2e60i2#

if(board[temprow][tempcol]=“w”)
应该是
if(board[temprow][tempcol]=“w”)

相关问题