gpt4 book ai didi

java - 如何在一个范围内选择不重复的随机数

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:52 25 4
gpt4 key购买 nike

我想随机设置数组中的 setVisible(false) 元素。但是当编写这段代码时

int random = (int) (Math.random() * 24 + 1);

myLabel.get(random).setVisible(false);

有时标签总是可见的。因为随机给出相同的数字。我的意思不是如何生成不重复的数字。因为即使数字不重复,随机也可能选择相同的数字两次或更多次。例如;

假设我生成 1 到 5 个没有重复的整数,例如 {2,4,5,1,3}。当我尝试随机选择时,程序可能会选择 4 两次,并且可能永远不会在 5 个选择中选择 3 个。

我希望我能写得正确、清晰。

最佳答案

您可以使用列表,而不是使用数组。根据列表的大小生成随机数。并在使用时将其移除。这是一个简单的测试用例,展示了我的意思。

    List<Integer> myList = new ArrayList<>(Arrays.asList(new Integer[]{1, 2, 3, 4, 5}));
for (int x = 0; x < 5; ++x) {
int random = (int) (Math.random() * myList.size());
Integer myInt = myList.remove(random);
System.out.println(myInt);
}

关于java - 如何在一个范围内选择不重复的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43192942/

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