Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.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中的值随机填充2d数组中固定数量的列?_Java_Arrays_Random_Multidimensional Array - Fatal编程技术网

如何用java中的值随机填充2d数组中固定数量的列?

如何用java中的值随机填充2d数组中固定数量的列?,java,arrays,random,multidimensional-array,Java,Arrays,Random,Multidimensional Array,冗长的问题,让我举个例子 我正在创建的程序使用2D数组创建2D世界,该数组的大小基于用户输入。在本例中,世界是一个4 X 10的世界 ---------- ---------- ---------- ---------- 我如何将3X放置在底部一行的随机位置 i、 e 但要确保它是随机的,这样如果我再次运行该方法,它们就不会出现在同一行中?您可以尝试在索引0,1,2中指定x,并使用集合框架的shuffle方法对其进行无序排列 String [][] data = {{"-","-","-","

冗长的问题,让我举个例子

我正在创建的程序使用2D数组创建2D世界,该数组的大小基于用户输入。在本例中,世界是一个4 X 10的世界

----------
----------
----------
----------
我如何将3X放置在底部一行的随机位置

i、 e


但要确保它是随机的,这样如果我再次运行该方法,它们就不会出现在同一行中?

您可以尝试在索引
0,1,2
中指定x,并使用集合框架的
shuffle
方法对其进行无序排列

String [][] data = {{"-","-","-","-","-","-","-","-"},{"-","-","-","-","-","-","-","-"}};

   data[data.length - 1][0] = "x";
   data[data.length - 1][1] = "x";
   data[data.length - 1][2] = "x";

   Collections.shuffle(Arrays.asList(data[data.length - 1]));
   for(int i = 0; i < data.length; i++){
       for(String s : data[i]){
           System.out.print(s);
       }
       System.out.println();
   }
Scanner Scanner=新的扫描仪(System.in);
Random rgen=新的Random();
int column=scanner.nextInt();
int row=scanner.nextInt();
列表网格=新建LinkedList();
对于(int i=0;i
如果您说“随机位置”,则它仅在特定行或多行中?仅在最下面一行。我最终会把这行移到它上面的空白行,然后随机地在现在空白的底部行中生成更多的xs。可以使用列表吗?是的,一个列表将不符合行中正好有3个x的要求。这是有意义的。谢谢你的贡献!
String [][] data = {{"-","-","-","-","-","-","-","-"},{"-","-","-","-","-","-","-","-"}};

   data[data.length - 1][0] = "x";
   data[data.length - 1][1] = "x";
   data[data.length - 1][2] = "x";

   Collections.shuffle(Arrays.asList(data[data.length - 1]));
   for(int i = 0; i < data.length; i++){
       for(String s : data[i]){
           System.out.print(s);
       }
       System.out.println();
   }
--------
--x-xx--
    Scanner scanner = new Scanner(System.in);
    Random rgen = new Random();
    int column = scanner.nextInt();
    int row = scanner.nextInt();

    List<List<Character>> grid = new LinkedList<>();

    for (int i = 0; i < column; i++) {
        List<Character> aColumn = new LinkedList<>();
        for (int j = 0; j < row; j++) {
            if (rgen.nextBoolean()) {
                aColumn.add('.');
            } else {
                aColumn.add('x');
            }

        }
        grid.add(aColumn);
    }