假设我有两个随机生成的数组(行和列),我希望它们用于填充多维数组。由于数组是行和列,多维数组将是矩阵[行][列]。只是我如何生成行的示例:
int[] rows = new int[20];
for(int i = 0; i < rows.length; i++) {
rows[i] = (int)(Math.random()*1000 + 1);
}
System.out.println("Rows Generated: " + Arrays.toString(randomArrayN));
}
}
columns 数组也是这样构建的。有没有一种简单的方法来创建一个二维数组并使用这些数组来填充它们? 我知道这个语法是错误的,但基本上我想知道是否有办法做到这一点:
int matrix[][] = new int[rows][columns];
最佳答案
是的,你绝对可以,尽管这可能有点令人困惑。
您可以使用以下方法初始化 3d 数组:
// test is a 3d array
int[][][] test = {
{
{1, -2, 3},
{2, 3, 4}
},
{
{-4, -5, 6, 9},
{1},
{2, 3}
}
};
我喜欢用 3D 物体来思考这个问题,比如正方棱镜。棱镜上的每一行(高度)都包含两个长度和宽度,即 x,y。在其他世界中,您有一个 2d 数组,一个值是列,另一个是行,在数组中使其成为 3d。
现在如果您想打印 3d 数组的值该怎么办? 只需这样做:
for (int[][] array2D: test) {
for (int[] array1D: array2D) {
for(int item: array1D) {
System.out.println(item);
}
}
}
关于java - 我可以使用单个数组来填充创建多维数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53229189/