如何停止循环

时间:2018-09-02 03:49:56

标签: java arrays 2d do-while

我需要检查2d数组是否已满以及它是否是拉丁方格。我有两种方法来检查这两种情况,但是当我将检查放入do while循环中时,它不会进行检查。如果棋盘已满,我希望游戏停止,然后继续检查是否为拉丁方块。我将其设置为它检查数组中的空元素的位置。这是全板检查的代码。

       a  maxA
0    1,2     2
1      3     3
2     -1    -1
3  8,9,1     9

这是do while的代码:

public static boolean fullBoard(char [][] square){
    for(int i = 0; i < square.length; i++){
        for(int j = 0; j < square.length; j++){
            if(square[i][j] == 0) { 
                return false;
            }
        }
    }
    return true;
}

2 个答案:

答案 0 :(得分:0)

好吧,我不确定是否了解所有内容,但我会尽力提供帮助。

当我看着你的时间时,我可以看到

if(fullBoard(square)) { 
            isLatinSquare(square);

是没有用的。方法isLatinSquare返回布尔值。您甚至都不使用它的返回值。

如果您希望游戏在游戏满员且恐慌程度为拉丁时结束:

do {
        promptUser(square);
        printBoard(square);


    }
while(isLatinSquare(square) && fullBoard(square));

System.out.println("you win");
printBoard(square);

}

如果您想在游戏已满时暂时停止游戏:

do {
        promptUser(square);
        printBoard(square);

        if(fullBoard(square)) { 
            Thread.sleep(2000); //2 sec pause
        }
    }
while(isLatinSquare(square));

System.out.println("you win");
printBoard(square);

答案 1 :(得分:0)

你能这样尝试吗

minimumPosition