Java 为什么.equals()会失败???跳棋游戏

Java 为什么.equals()会失败???跳棋游戏,java,while-loop,equals,Java,While Loop,Equals,我目前正在为一个学校项目做跳棋游戏。棋盘是一个二维字符串数组,用于表示棋盘上的各个部分。目前我正在编写游戏规则,但由于某些原因,.equals()在while循环中失败 private static String redPawn = "redPawn"; private static String blackPawn = "blackPawn"; private static String redKing = "redKing"; private static String blackK

我目前正在为一个学校项目做跳棋游戏。棋盘是一个二维字符串数组,用于表示棋盘上的各个部分。目前我正在编写游戏规则,但由于某些原因,
.equals()
在while循环中失败

 private static String redPawn = "redPawn";
 private static String blackPawn = "blackPawn";
 private static String redKing = "redKing";
 private static String blackKing = "blackKing"
 private static String[][] checkerPieces = new String[row][col];

 while(!redPawn.equals(checkerPieces[r][c]) || !redKing.equals(checkerPieces[r][c]))
    {
        System.out.println("You can only move the red pawns");
        playerInput.selectPiece();
    }
仅在调试和放置时:

while(!redPawn.equals(checkerPieces[r][c]))
    {
        System.out.println("You can only move the red pawns");
        playerInput.selectPiece();
    }
它一直工作,直到我添加了条件语句来检查
红字。有人能帮忙吗

由于某些原因,.equals()在while循环中失败

这是因为您使用或
|
,而使用和
&

while(!redPawn.equals(checkerPieces[r][c]) && !redKing.equals(checkerPieces[r][c]))

你能加上你得到的错误吗?你能告诉我们什么是“c”和“r”吗?