Initialize Values of 2D Array using Nested For Loops

我只是一个虾纸丫 提交于 2019-12-24 01:19:27

问题


I am trying to format an array that is the following:

[1] [2] [3] [4] [5]
[6] [7] [8] [9] [10]
[11] [12] [13] [14] [15]

How could I initialize the two dimensional array and the values using nested for loops?


回答1:


I think you have a misunderstanding of two dimensional arrays. Think of them beeing arrays containing arrays.

if you really want this:

[[1] [2] [3] [4] [5]
[6] [7] [8] [9] [10]
[11] [12] [13] [14] [15]]

You could initialize it like that:

int[][] array2d = new int[15][1]
for (int i = 0; i < array2d.length; i++) {
    array2d[i][0] = i + 1;
}

If in fatc, what you really want is:

[[1, 2, 3, 4, 5]
[6, 7, 8, 9, 10]
[11, 12, 13, 14, 15]]

you could use:

int[][] array2d = new int[3][5]
for (int i = 0; i < array2d.length; i++) {
    for (int j = 0; j < array2d[0].length; j++) {
        array2d[i][j] = (i * array2d[0].length) + j + 1;
    }
}



回答2:


Try something like:

int width = 5;
int height = 3;
int[][] array = new int[height][width];

for (int i = 0; i < height; i++)
{
    for (int j = 0; j < width; j++)
    {
        array[i][j] = i + j + (width * i);
    }
}


来源:https://stackoverflow.com/questions/14841851/initialize-values-of-2d-array-using-nested-for-loops

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!