我正在开发一个项目,它使游戏板的三个空格与其余部分不同(+ 1,+ 2,-1)我需要将这些值添加到存储在ArrayList索引处的变量中。 我可以找到一些东西来生成索引的数量,但我不知道如何确保它们是唯一的索引。 (它不能将所有三个值都放在一个空格中)
如何在0到16范围内制作三个独特的随机索引?
谢谢!
答案 0 :(得分:2)
将所有可能的数字放在一个列表中 - 将它们洗牌并取前三个:
public class Test {
public void test() {
System.out.println("Hello");
List<Integer> numbers = new ArrayList<Integer>(Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16));
Collections.shuffle(numbers);
System.out.println(numbers);
}
public static void main(String args[]) {
new Test().test();
}
}
印刷
[5, 12, 4, 7, 2, 11, 14, 9, 3, 0, 15, 8, 1, 10, 13, 16, 6]
答案 1 :(得分:1)
尝试此操作以从给定数字列表中生成唯一的随机数。
Collections.shuffle(list);