用Java创建Bingo卡片

用Java创建Bingo卡片

问题描述:

import java.util.ArrayList; 

用Java创建Bingo卡片

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语句的无限循环中。我知道它可能是一个简单的办法,但我认真看不到的问题...

+0

while(goAgain = true);应该是(goAgain);或while(goAgain == true); – emirc 2015-03-02 21:14:26

你在这一行分配truegoAgain

} while (goAgain = true); 

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

您可以比较goAgaintrue==比较符,但是goAgain已经是boolean,所以你可以只用本身的价值。

} while (goAgain); 
+0

哇.....愚蠢的错误...知道了。将在8分钟内接受! :) – nick9999 2015-03-02 21:12:05

+0

不错,我也没有注意到:D删除我的其他答案。 – 2015-03-02 21:12:51