java 달력만들기


import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class GetData {

	Scanner Input = new Scanner(System.in);
	private int year;
	private int month;
	GregorianCalendar gc = new GregorianCalendar();
	char[] week = { '일', '월', '화', '수', '목', '금', '토' };
	int StartWeek;
	int EndDay;

	public GetData() {
		System.out.println("yy년 입력 ");
		year = Input.nextInt();
		System.out.println("MM월 입력 ");
		month = Input.nextInt();
		gc.set(year, month - 1, 1);
		EndDay = gc.getActualMaximum(Calendar.DATE);
		StartWeek = gc.get(Calendar.DAY_OF_WEEK) - 1;
	}

	public void ShowData() {

		System.out.println("\t\t" + "<< " + year + "년" + " " + month + "월"
				+ " >>");

		// 요일 출력
		for (int i = 0; i < week.length; i++) {
			System.out.print(week[i] + "\t");
		}
		System.out.println();

		for (int i = 1, k = 0; i <= EndDay;) {

			// 그 달에 시작하는 요일
			if (k < StartWeek) {
				System.out.print("\t");
				k++;
			} else {
				if (i < 10) {
					System.out.print(" ");
				}

				// 요일대로 끊어주기 위해서
				System.out
						.print((i + StartWeek) % 7 == 0 ? i + "\n" : i + "\t");
				i++;
			}
		}

	}

}