Java 随机数生成与数组
我一直在为我的第一个文本冒险游戏创建一个随机元素生成器,更具体地说,这是:Java 随机数生成与数组,java,arrays,arraylist,random,Java,Arrays,Arraylist,Random,我一直在为我的第一个文本冒险游戏创建一个随机元素生成器,更具体地说,这是: Random Generation = new Random(); List<Integer> interact = new ArrayList<Integer>(); for (int generator = Generation.nextInt(5) + 3; generator > 0; generator--) { interact.add(G
Random Generation = new Random();
List<Integer> interact = new ArrayList<Integer>();
for (int generator = Generation.nextInt(5) + 3; generator > 0; generator--) {
interact.add(Generation.nextInt(10));
};
System.out.println(interact);
Random Generation=new Random();
List interact=new ArrayList();
对于(int生成器=Generation.nextInt(5)+3;生成器>0;生成器--){
interact.add(Generation.nextInt(10));
};
System.out.println(交互);
在这里,生成器定义了元素的数量,并将其作为一个列表进行交互,该列表包含表示不同交互对象的随机数,问题是,我需要元素不要重复
我在思考a
inta=Generation.nextInt(3);if(a!=interact[]){interact.add(a)}else{generator++}
但我不知道如何在比较数组中设置[any]
。用以下方式修改for循环:
for (int generator = Generation.nextInt(5) + 3; generator > 0; generator--) {
int randomedNumber = 0;
do {
randomedNumber = Generation.nextInt(10);
} while(interact.contains(randomedNumber))
interact.add(randomedNumber);
};
你随机选择一个数字,如果它在列表中-你再次随机,如果它不是-你将它添加到列表中,然后进入下一个,非常简单。IIRC你的要求是:
- 游戏必须有一个大小为
3的“元素列表”我看到了前面的一些问题,但我认为它们不适用于我的情况“=>所以你看到了将数字放入数组并洗牌的建议?为什么它对你不起作用?事实上我并不完全理解你,你想生成随机唯一键吗?@Basilbatikhi我想是的,我需要生成器不要重复元素,但始终保持生成器var的元素数,我编辑了问题,我在交互范围内犯了一个错误,我把它做得更大了。你想要达到的是unclear@assylias事实上,我不认为在我搜索时出现了一个,但我只是想澄清一下,我需要生成器创建的元素数量与生成器的元素数量准确无误,这样也许它可以避免重复,但如果它像一个集合,则
仍将激活,游戏的元素将比它应该的少1个;在while循环中生成器--
Random generator = new Random(); Set<Integer> interact = new HashSet<Integer>(); int numberOfItems = generator.nextInt(5) + 3; while (interact.size() < numberOfItems) { interact.add(generator.nextInt(10)); }