我想随机地在数组中设置可见(false)元素。但是在写这段代码时
int random = (int) (Math.random() * 24 + 1);
myLabel.get(random).setVisible(false);
有时标签不是不可见的。因为随机给出相同的数字。我不是指如何生成数字而不重复。因为即使数字不重复,随机也可以选择相同的数字两次或更多。例如;
假设我生成1到5个整数,没有像{2,4,5,1,3}这样的重复。当我尝试随机选择时,程序可以选择4次,也许它从不选择3次5种选择。
我希望我能正确地写清楚。
答案 0 :(得分:0)
可以使用列表而不是使用数组。根据列表的大小生成随机数。并在使用时将其删除。这是一个简单的测试用例,显示了我的意思。
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);
}