数値だけでなく、文字列配列も規則的なパターンで埋めることができます。曜日や月名を繰り返す例で見てみましょう。
1. 曜日を繰り返す
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] days = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
String[] schedule = new String[14]; // 2週間分
for (int i = 0; i < schedule.length; i++) {
schedule[i] = days[i % days.length]; // 余りで繰り返す
}
System.out.println(Arrays.toString(schedule));
}
}
Java出力例
[Mon, Tue, Wed, Thu, Fri, Sat, Sun, Mon, Tue, Wed, Thu, Fri, Sat, Sun]
2. 月名を繰り返す
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
String[] calendar = new String[24]; // 2年分
for (int i = 0; i < calendar.length; i++) {
calendar[i] = months[i % months.length];
}
System.out.println(Arrays.toString(calendar));
}
}
Java出力例
[Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec,
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
3. 二次元配列でパターン化(例:時間割)
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] days = {"Mon", "Tue", "Wed", "Thu", "Fri"};
String[][] timetable = new String[5][3]; // 5日×3コマ
for (int i = 0; i < timetable.length; i++) {
for (int j = 0; j < timetable[i].length; j++) {
timetable[i][j] = days[i]; // 行ごとに曜日を入れる
}
}
System.out.println(Arrays.deepToString(timetable));
}
}
Java出力例
[[Mon, Mon, Mon],
[Tue, Tue, Tue],
[Wed, Wed, Wed],
[Thu, Thu, Thu],
[Fri, Fri, Fri]]
✅ ポイントまとめ
- 繰り返しパターンは
%(余り演算)を使うと簡単 - 文字列配列を元にして新しい配列を埋める
- 二次元配列では「行ごと」「列ごと」にパターンを作れる
