年と月を入力してカレンダーを出力する

プログラミングスレまとめ in VIPの練習問題を解いてみた
練習問題 - プログラミングスレまとめ in VIP

//答え
import java.util.*;

class MyCalendar {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("年を入力: ");
		int year = scan.nextInt();
		System.out.println("月を入力: ");
		int month = scan.nextInt();
		
		System.out.println(year + "年" + month + "月");
		System.out.println(" 日 月 火 水 木 金 土");
		
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.YEAR, year);
		cal.set(Calendar.MONTH, month - 1);
		cal.set(Calendar.DATE, 1);
		
		//その月の最終日
		int max_day = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		//1日の曜日
		int start_index = cal.get(Calendar.DAY_OF_WEEK);
		for (int i = 1; i < start_index; i++) {
			System.out.printf("%3s", ""); //1週目の1日までを空白で埋める
		}
		
		for (int i = 1; i <= max_day; i++) {
			System.out.printf("%3d", i);
			cal.set(Calendar.DATE, i);
			if (Calendar.SATURDAY == cal.get(Calendar.DAY_OF_WEEK)) {
				System.out.println("");
			}
		}
	}
}

こういうのは、苦手です。あんまり面白くないですよね。