我一直在为我的第一个文字冒险游戏创建一个随机元素生成器,更具体一点,这个:
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);
这里,生成器定义了元素的数量,并且它的列表中包含代表不同交互对象的随机数,事情是,我需要元素不重复。
我在int a = Generation.nextInt(3); if (a != interact[]) {interact.add(a)} else {generator++};
进行思考,但我不知道如何在比较数组时设置[any]
。
答案 0 :(得分:0)
IIRC您的要求是:
3 <= numberOfItems <= 8
。每次numberOfItems
必须随机化的地方。numberOfItems
个随机整数。这个怎么样?
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));
}
它会不断向interact
添加不同的元素,直到达到指定的容量numberOfItems
。
答案 1 :(得分:-1)
以这种方式修改for循环:
PerceptronTagger
你随机输入一个数字,如果它在列表中 - 你再次随机,如果不是 - 你将它添加到列表中并继续下一个,非常简单。