[英]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.