java - 如何用java中的值随机填充二维数组中固定数量的列?

标签 java arrays random multidimensional-array

罗嗦的问题,举个例子

我正在创建的程序使用二维数组创建一个二维世界,其大小基于用户输入。在这个例子中,世界是一个 4 X 10 的世界

----------
----------
----------
----------

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

----------
----------
----------
--x-x---x-

但要确保它是随机的,以便在我再次运行该方法时它们不会出现在同一行中?

最佳答案

您可以在索引 0、1、2 中指定 x 并使用 Collections 框架的 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();
   }

结果:

--------
--x-xx--

关于java - 如何用java中的值随机填充二维数组中固定数量的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29980918/

相关文章:

java - spring 作用域代理和 JAXB

java - 三元if-else的自动拆箱需求

python - 3d 数组的 Numpy 元素乘积

arrays - 在 O(nlogn) 时间内使用分而治之从数组中删除重复项

python - scipy linalg 确定性/非确定性代码

python - 如何从python中的gzip压缩文件中获取随机行而不将其读入内存

java - 在乘法 if 语句中仅打印一条错误消息

java - 在 Java 中比较 String 时是否需要检查 null 和 ""?

Java for 和 while 循环没有按预期工作

mysql - MySQL 的 ORDER BY RAND() 是如何工作的?