gpt4 book ai didi

java - 如何在java中生成6个不同的随机数

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:15 26 4
gpt4 key购买 nike

我想使用 Math.random 生成 6 个不同的随机数并将它们存储到一个数组中。我怎样才能确定它们是不同的?我知道我需要使用 for 循环来检查数组,但是如何...

这是范围。我只需要 1 到 49 之间的数字。 ( 1 + (int) (Math.random() * 49) )

最佳答案

在 Java 8 中:

final int[] ints = new Random().ints(1, 50).distinct().limit(6).toArray();

在 Java 7 中:

public static void main(final String[] args) throws Exception {
final Random random = new Random();
final Set<Integer> intSet = new HashSet<>();
while (intSet.size() < 6) {
intSet.add(random.nextInt(49) + 1);
}
final int[] ints = new int[intSet.size()];
final Iterator<Integer> iter = intSet.iterator();
for (int i = 0; iter.hasNext(); ++i) {
ints[i] = iter.next();
}
System.out.println(Arrays.toString(ints));
}

只是有点乱。拆箱 Set<Integer> 非常乏味,这无济于事。进入 int[] .

应该注意的是,如果所需值的数量明显小于范围,则此解决方案应该没问题。作为1..496 大很多你没事。否则性能会迅速下降。

关于java - 如何在java中生成6个不同的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22584244/

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