ふぁ~~あ (>Οゝ)゜゜゜
おはようございます…
昨日は、ある月の最後の日を取得するには、
どうやったらよいのか書きました。
今日は、それを使って、1ヶ月分の日にちを
実際に表示してみます。
でわ、さっそくプログラム。(今日はちょっと長いですかな (--;)
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
public class February {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
// 2006年2月を指定
CalendarUtil.setYearAndMonth(2006, Calendar.FEBRUARY, calendar);
// 1ヶ月のリストを作る
List monthList = CalendarUtil.makeMonthList(calendar);
// テスト出力
for(Iterator oneDays = monthList.iterator(); oneDays.hasNext(); ){
System.out.println(oneDays.next());
}
}
/**
* Utility
*/
private static class CalendarUtil{
/**
* 年月をCalenderにセットする
* @param year calendarに指定する年
* @param day calendarに指定する月
* @param year, dayを指定するCalendar
*/
public static void setYearAndMonth(int year, int month, Calendar calendar){
calendar.set(Calendar.YEAR, 2006);
calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
}
/**
* Calendarで指定したの年月の終わり日を取得
*/
public static int getLastDay(Calendar calendar){
calendar.set(Calendar.DATE, 1);
return calendar.getActualMaximum(Calendar.DATE);
}
/**
* 1ヶ月分のリストを作る
*/
public static List makeMonthList(Calendar calendar){
List monthList = new ArrayList();
calendar.set(Calendar.DATE, 1);
int lastday = getLastDay(calendar);
// 月の初め(1日)から月の終わり(lastday)までのOneDayを作り、
// monthListに入れる
for(int i = 1; i <= lastday; i++){
calendar.set(Calendar.DATE, i);
OneDay oneday = new OneDay(i, calendar.get(Calendar.DAY_OF_WEEK));
monthList.add(oneday);
}
return monthList;
}
}
/**
* 1日. 日付と曜日を持つクラス
*/
private static class OneDay{
/**
* toString用(曜日)
*/
private static final String DAY[] = {
"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"
};
/** 日付け 1~31 */
private int num;
/** 曜日 1~7 */
private int day;
public OneDay(int num, int day){
this.num = num;
this.day = day;
}
public int getNum(){
return num;
}
public int getDay(){
return day;
}
public String toString(){
return num + ", " + DAY[day-1];
}
}
}
とりあえず、日にちと曜日を
表示することができましたヨ♪
作ってみて、少しおもったのですけど、
曜日を使うこと、あるのかなぁ…?
うん、きっとあるさ!あるハズ(><)
そんな疑問をいだきつつ
今日は、ここまで!
でわでわ( ̄▽ ̄)/