gpt4 book ai didi

java - 在 ArrayList 中查找重复的随机数

转载 作者:行者123 更新时间:2023-12-01 17:17:04 24 4
gpt4 key购买 nike

public class LotteryNumbers {
private ArrayList <Integer> numbers;

public LotteryNumbers() {
this.numbers = new ArrayList <Integer> ();
this.drawNumbers();
}

public ArrayList <Integer> numbers() {
return this.numbers;
}

public void drawNumbers() {
Random random = new Random ();
int counter = 0;

while (counter < 7) {
this.numbers.add(random.nextInt(39) + 1);
counter++;
}

}

该类用于打印 1..39 中的 7 个数字。

它完成了这项工作,但问题是我希望 7 个随机数不同。

如何检查 arrayList 是否包含相同的数字,因为它是随机的?

感谢您的阅读。

最佳答案

您可以尝试使用 ArrayList 数字中的 contains() 方法:

public void drawNumbers()
{
Random random = new Random();
int counter = 0;
int choice;
while (counter < 7) {
choice = random.nextInt(39) + 1;
if (numbers.contains(choice)) {
continue;
}
numbers.add(choice);
counter++;
}
}

来自Java Docs :

public boolean contains(Object o): Returns true if this list contains the specified element.

因此,如果ArrayList已经包含选择(随机生成),它将继续下一次迭代(counter不会增加)并选择另一个随机数。如果它不包含选择,则会将其添加到数组中并增加计数器

<小时/>

也可以通过这种方式完成(不使用继续)

if (!numbers.contains(choice)) {
numbers.add(choice);
counter++;
}

关于java - 在 ArrayList 中查找重复的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21286966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com