public static void main(String[] args){
int size = 90;
ArrayList<Integer> list = new ArrayList<Integer>(size);
for(int i = 1; i <= size; i++) {
list.add(i);
}
Random rand = new Random();
while(list.size() > 0) {
int index = rand.nextInt(list.size());
System.out.println("BOY: "+list.remove(index));
System.out.println("Girl: "+list.remove(index));
}
}
}
這裏是我做了什麼,而我仍然獲得在線程異常「主」 java.lang.IndexOutOfBoundsException: Index: 45, Size: 45.
我能做些什麼來解決這個問題。我是如何分配90席至40名男孩和50名女孩沒有重複在Java中
使用迭代器 –
您正在生成一個基於列表大小的隨機索引一次,但隨後刪除該索引處的項目兩次。您只能保證第一次刪除時該索引處存在某些內容。 – azurefrog
「挑選一系列隨機列表元素」的更好方法是不要隨意挑選。相反,洗牌清單,然後只是遍歷它。 – azurefrog