Java | 配列をパターンで埋める方法

Java Java
スポンサーリンク

配列を「全部同じ値」ではなく、規則的なパターンで埋めたいときは、Arrays.fill だけでは足りません。for文や条件分岐を組み合わせることで、繰り返しや交互のパターンを作れます。


1. 交互パターン(0と1を交互に)

int[] arr = new int[8];
for (int i = 0; i < arr.length; i++) {
    arr[i] = i % 2;   // 偶数なら0、奇数なら1
}
System.out.println(Arrays.toString(arr));
Java

出力

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

2. 繰り返しパターン(1,2,3を繰り返す)

int[] arr = new int[9];
for (int i = 0; i < arr.length; i++) {
    arr[i] = (i % 3) + 1;   // 1,2,3を繰り返す
}
System.out.println(Arrays.toString(arr));
Java

出力

[1, 2, 3, 1, 2, 3, 1, 2, 3]

3. 等差数列パターン(2ずつ増える)

int[] arr = new int[6];
for (int i = 0; i < arr.length; i++) {
    arr[i] = i * 2;   // 0,2,4,6,8,10
}
System.out.println(Arrays.toString(arr));
Java

出力

[0, 2, 4, 6, 8, 10]

4. 二次元配列でチェッカーパターン

int[][] board = new int[4][4];
for (int i = 0; i < board.length; i++) {
    for (int j = 0; j < board[i].length; j++) {
        board[i][j] = (i + j) % 2;   // 偶数なら0、奇数なら1
    }
}
System.out.println(Arrays.deepToString(board));
Java

出力

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

5. 三次元配列で「外側だけ1」

int size = 3;
int[][][] cube = new int[size][size][size];

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;   // 外側を1
            } else {
                cube[x][y][z] = 0;   // 内側は0
            }
        }
    }
}
System.out.println(Arrays.deepToString(cube));
Java

出力イメージ

外側が1、内側が0の立方体

✅ まとめ

  • 交互パターン%(余り演算)を使う
  • 繰り返しパターン(i % n) で周期を作る
  • 数列パターンi * step で増加させる
  • 二次元・三次元 → 添え字の組み合わせで条件を作る
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました