Initialize Values of 2D Array using Nested For Loops
43,742
Solution 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;
}
}
Solution 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);
}
}
Author by
user2057847
Updated on November 07, 2020Comments
-
user2057847 over 3 years
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?