gpt4 book ai didi

java - 为每个数组值生成一个唯一的随机数

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:32 24 4
gpt4 key购买 nike

我有这个方法,它为这个方法中列出的每个数组值生成一个数字 (1-10)。我希望将整组数字显示为一组唯一数字。如何做到这一点?

public static int generateNumbers(int[] lotteryNumbers) {

Random randNum = new Random();

lotteryNumbers[0] = randNum.nextInt(10);
lotteryNumbers[1] = randNum.nextInt(10);
lotteryNumbers[2] = randNum.nextInt(10);
lotteryNumbers[3] = randNum.nextInt(10);
lotteryNumbers[4] = randNum.nextInt(10);

return lotteryNumbers[4];
}

最佳答案

一个简单的解决方案是生成 10 位数字的列表,打乱该列表并获取前五个元素:

List<Integer> list = new ArrayList<>(10);
for (int i = 0; i < 10; i++) {
list.add(i);
}
Collections.shuffle(list);
Integer[] lotteryNumbers = list.subList(0, 5).toArray(new Integer[10]);

Collections.shuffle(list)是一种随机排列给定列表的实用方法。

如果你使用的是 Java 8,这可以写成:

List<Integer> list = IntStream.range(0, 10).boxed().collect(Collectors.toList());
Collections.shuffle(list);
int[] loterryNumbers = list.subList(0, 5).stream().mapToInt(i -> i).toArray();

关于java - 为每个数组值生成一个唯一的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32423463/

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