Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机数生成与数组_Java_Arrays_Arraylist_Random - Fatal编程技术网

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));
        }