當我們嘗試創建賓果程序時,我們陷入困境。我們是業餘編程人員,我們可以用數字輸出隨機值,但是當我們輸出這些數字時,它會打印所有數字。有沒有辦法一次打印一個數字,而不重複,同時跟蹤已打印的數字?如何使用具有循環的數組列表中的collections.shuffle一次打印出一個值?
import java.util.ArrayList;
import java.util.Random;
public class RandonNumberGenerator {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> RandomNumsList = new ArrayList<Integer>();
RandomNumsList.add(1);
... //we added index numbers 1-75, but we didn't want to take up too much
//space so we put this space to replace 2-74
RandomNumsList.add(75);
Collections.shuffle(RandomNumsList);
String letter;
int index;
for (index = 0; index<RandomNumsList.size(); index++)
{
int x=0;
x=RandomNumsList.get(index);
if (x>0 && x<=15)
{
letter=("B");
System.out.println (letter+x);
}
if (x>15 && x<=30)
{
letter=("I");
System.out.println (letter+x);
}
if (x>30 && x<=45)
{
letter=("N");
System.out.println (letter+x);
}
if (x>45 && x<=60)
{
letter=("G");
System.out.println (letter+x);
}
if (x>60 && x<=75)
{
letter=("O");
System.out.println (letter+x);
}
}
}
}
你可以添加一個新的集合與被調用的數字進行跟蹤(以及稍後的賓果驗證),並將它放入新集合後將原始數字從您的隨機集合中刪除 –