我想在数组中随机设置Visible(false)元素。但是写这段代码的时候
int random = (int) (Math.random() * 24 + 1);
myLabel.get(random).setVisible(false);
有时标签总是可见的。因为随机给出相同的数字。我不是说如何生成数字而不重复。因为即使数字都不重复,所以random可能会选择相同的数字两次或更多次。例如;
假设我生成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);
}