用Java创建Bingo卡片
问题描述:
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循环将永远不会结束。
您可以比较goAgain
到true
与==
比较符,但是goAgain
已经是boolean
,所以你可以只用本身的价值。
} while (goAgain);
+0
哇.....愚蠢的错误...知道了。将在8分钟内接受! :) – nick9999 2015-03-02 21:12:05
+0
不错,我也没有注意到:D删除我的其他答案。 – 2015-03-02 21:12:51
while(goAgain = true);应该是(goAgain);或while(goAgain == true); – emirc 2015-03-02 21:14:26