三次元配列は「層 × 行 × 列」で構成されます。ここでは 立方体の外側を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」など、自由にパターンを作れます。
