2

次の配列をフォーマットしようとしています。

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

ネストされた for ループを使用して 2 次元配列と値を初期化するにはどうすればよいですか?

4

2 に答える 2

6

二次元配列を誤解していると思います。配列を含む配列であると考えてください。

あなたが本当にこれが欲しいなら:

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

次のように初期化できます。

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

脂肪質の場合、本当に欲しいのは次のとおりです。

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

あなたが使用することができます:

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;
    }
}
于 2013-02-12T21:17:21.173 に答える
1

次のようなものを試してください:

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);
    }
}
于 2013-02-12T21:12:04.727 に答える