Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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使用随机0'填充二维数组;s和1';s_Java_Arrays_Math - Fatal编程技术网

java使用随机0'填充二维数组;s和1';s

java使用随机0'填充二维数组;s和1';s,java,arrays,math,Java,Arrays,Math,我想知道您是否可以使用Math.random方法生成随机0和1 我需要填充一个二维数组,使其基本上像一个迷宫,1是路径,0是墙。正如我在评论中提到的,如果你试图生成迷宫,我认为你不需要随机。相反,请看一下这里的一些算法: 是的,您可以使用以下方法生成随机0和1: Random r = new Random( ); int[][] maze = ... ... maze[x][y] = r.nextInt(2); // or, equivalently, maze[x][y] = r.nextBo

我想知道您是否可以使用Math.random方法生成随机0和1


我需要填充一个二维数组,使其基本上像一个迷宫,1是路径,0是墙。

正如我在评论中提到的,如果你试图生成迷宫,我认为你不需要随机。相反,请看一下这里的一些算法:


是的,您可以使用以下方法生成随机0和1:

Random r = new Random( );
int[][] maze = ...
...
maze[x][y] = r.nextInt(2);
// or, equivalently, maze[x][y] = r.nextBoolean( ) ? 1 : 0;

然而,这不太可能产生一个非常好的迷宫。正如Jonathan所说,迷宫有结构(即不是完全随机的),你需要一个像样的迷宫构造算法。

类似的方法应该可以:

int n = 10;
int[][] maze = new int[n][n];
Random rand = new Random();

for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++)
        maze[i][j] = rand.nextInt(2);
int n=10;
int[][]迷宫=新int[n][n];
Random rand=新的Random();
对于(int i=0;i

虽然我同意这些评论,但这不会给你一个漂亮的迷宫…

带有随机路径的迷宫不再是一个有效的迷宫!迷宫中的路径是固定的,而不是随机的,尽管它们看起来是固定的!比如说,

上面的一个是有效的迷宫,但一旦路径是随机的,它就不再是有效的迷宫!(下文)


这里有一些迷宫的例子供你参考。

迷宫不是随机的。它们的结构必须在入口、出口和路径之间。随机性不会让你达到目的。