現在の実装処理としては、三次元の配列 月、月(週)、月(日)を設定しました。
以下の表示フォーマットの通り、年間カレンダー表示を完成させる。
※月は3列×4段表示とする
ループで出力方法がわからないですので、教えていただければ幸いです。
public String[][][] hidzukeHyoJi() { String[][][] h = new String[12][6][7]; for (int i = 0; i < 12; i++) { month2 = i; int date = 1; Calendar cal = Calendar.getInstance(); // 何年何月何日を設定する。 cal.set(year, month2, date); // 日付から曜日を取得する // Calendar.DAY_OF_WEEK:7 実際の値です(余り意味はない) switch (cal.get(Calendar.DAY_OF_WEEK)) { case Calendar.SUNDAY: // Calendar.SUNDAY:1 (値。意味はない) //日曜日 break; case Calendar.MONDAY: // Calendar.MONDAY:2 //月曜日 break; case Calendar.TUESDAY: // Calendar.TUESDAY:3 //火曜日 break; case Calendar.WEDNESDAY: // Calendar.WEDNESDAY:4 //水曜日 break; case Calendar.THURSDAY: // Calendar.THURSDAY:5 //木曜日 break; case Calendar.FRIDAY: // Calendar.FRIDAY:6 //金曜日 break; case Calendar.SATURDAY: // Calendar.SATURDAY:7 //土曜日 break; } int yobiBanGo = cal.get(Calendar.DAY_OF_WEEK); int saiShuBi = cal.getActualMaximum(Calendar.DAY_OF_MONTH); int day = 0; for (int j = 0; j < 6; j++) { for (int k = 0; k < 7; k++) { if (day < 9) { h[i][j][k] = " " + day; } if (k < yobiBanGo - 1 && j == 0) { h[i][j][k] = " "; } else if (day < saiShuBi) { h[i][j][k] = day + 1 + " "; day++; } else { h[i][j][k] = ""; } } } } return h; }
あなたの回答
tips
プレビュー