[英]Add a set amount of random Numbers in an array list while removing duplicates
我似乎無法弄清楚為什么它會讓重復項通過。 我以為我的代碼暗示我不希望它有任何重復。 我現在使用我的代碼的方式會將7個隨機數添加到ArrayList中,這很好,但同時也會添加重復數,而不是。
import java.util.ArrayList;
import java.util.Random;
public class LotteryNumbers {
private ArrayList<Integer> numbers;
public LotteryNumbers() {
this.drawNumbers();
}
public ArrayList<Integer> numbers() {
Random randomizer = new Random();
int i = 1;
while (i <= 7) {
if (!numbers.contains(randomizer.nextInt(39 + 1))); {
numbers.add(randomizer.nextInt(39) + 1);
i++;
}
}
return this.numbers;
}
public void drawNumbers() {
this.numbers = new ArrayList<Integer>();
}
}
修正您的numbers()
方法,如下所示
public ArrayList<Integer> numbers() {
Random randomizer = new Random();
int i = 1;
int num;
while (i <= 7) {
num = randomizer.nextInt(39 + 1);
if (!numbers.contains(num)); {
numbers.add(num);
i++;
}
}
return this.numbers;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.