Java | 三次元配列をパターンで初期化

Java Java
スポンサーリンク

三次元配列は「層 × 行 × 列」で構成されます。ここでは 立方体の外側を1、内側を0 にする方法を紹介します。


コード例

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int size = 4; // 4×4×4の立方体
        int[][][] cube = new int[size][size][size];

        // 外側だけ1にする
        for (int x = 0; x < size; x++) {
            for (int y = 0; y < size; y++) {
                for (int z = 0; z < size; z++) {
                    if (x == 0 || x == size - 1 ||
                        y == 0 || y == size - 1 ||
                        z == 0 || z == size - 1) {
                        cube[x][y][z] = 1;   // 外側
                    } else {
                        cube[x][y][z] = 0;   // 内側
                    }
                }
            }
        }

        // 結果を表示(深い配列を文字列化)
        System.out.println(Arrays.deepToString(cube));
    }
}
Java

出力イメージ(4×4×4の一部)

[
 [[1,1,1,1],
  [1,0,0,1],
  [1,0,0,1],
  [1,1,1,1]],

 [[1,0,0,1],
  [0,0,0,0],
  [0,0,0,0],
  [1,0,0,1]],

 [[1,0,0,1],
  [0,0,0,0],
  [0,0,0,0],
  [1,0,0,1]],

 [[1,1,1,1],
  [1,0,0,1],
  [1,0,0,1],
  [1,1,1,1]]
]

✅ ポイント

  • 外側判定は「添え字が0または最大値」のとき
  • 内側判定はそれ以外
  • Arrays.deepToString を使うと多次元配列を見やすく表示できる

👉 この考え方を応用すれば「外側は1、内側は2」「対角線だけ3」など、自由にパターンを作れます。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました