在 Java 中创建宾果卡

Create a Bingo Card in Java

import java.util.ArrayList;

.

int randomNum, high = 0, low = -14, row = -1;
Boolean goAgain;

.

ArrayList<Integer> numberList = new ArrayList<>();

do {

        high = high + 15;
        low = low + 15;
        row = row + 1;
        goAgain = true;

        for (int colum = 0; colum < 5; colum++) {

            do {

                randomNum = (int) (Math.random() * (high - low) + low);

                containsNumber = numberList.contains(randomNum);

                if (containsNumber == false) {

                    numberList.add(randomNum);

                    bingoBoard[row][colum] = randomNum;

                    goAgain = false;

                }

            } while (goAgain = true);
        }
    } while (row != 4);

我正在尝试创建宾果卡。当我 运行 上面的代码时,我陷入了最内部 do-while 语句的无限循环。我知道这可能是一个简单的解决方法,但我真的看不出问题所在...

您在这一行中将 true 分配给 goAgain

} while (goAgain = true);

运算符=是赋值运算符。所以内部的 do-while 循环永远不会结束。

您可以使用 == 比较运算符将 goAgaintrue 进行比较,但是 goAgain 已经是 boolean,因此您可以只使用价值本身。

} while (goAgain);