import java.util.Scanner;
public class Calendar2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("출력 하려는 年, 月을 입력하십시오.(2012년만)");
System.out.print("年: ");
int year = s.nextInt();
System.out.print("月: ");
int month = s.nextInt();
printCalendar(year, month);
}
static void printCalendar(int year, int month) {
String[] days = new String[31];
int day = 0;
int cut = 0;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
|| month == 10 || month == 12) {
cut = 31;
} else if (month == 2) {
cut = 29;
} else {
cut = 30;
}
for (int i = 0; i < cut; i++) {
++day;
if (i <= 8) {
days[i] = "0" + day;
} else {
days[i] = "" + day;
}
}
System.out.println();
System.out.println(" " + year + "년 " + month + "월");
System.out.println("일 월 화 수 목 금 토");
int sumMonth = 0;
int restDays = 0;
for (int i = 1; i < month; i++) {
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10
|| i == 12) {
sumMonth += 31;
} else if (i == 2) {
sumMonth += 29;
} else {
sumMonth += 30;
}
} // 월의 합 for
restDays = sumMonth % 7;
if (restDays == 0) {
for (int i = 0; i < cut; i++) {
System.out.print(days[i] + " ");
if (i == 6 || i == 13 || i == 20 || i == 27)
System.out.println();
} // 일요일
}
if (restDays == 1) {
System.out.print(" ");
for (int i = 0; i < cut; i++) {
System.out.print(days[i] + " ");
if (i == 5 || i == 12 || i == 19 || i == 26)
System.out.println();
} // 월요일
}
if (restDays == 2) {
System.out.print(" ");
for (int i = 0; i < cut; i++) {
System.out.print(days[i] + " ");
if (i == 4 || i == 11 || i == 18 || i == 25)
System.out.println();
}
} // 화요일
if (restDays == 3) {
System.out.print(" ");
for (int i = 0; i < cut; i++) {
System.out.print(days[i] + " ");
if (i == 3 || i == 10 || i == 17 || i == 24)
System.out.println();
}
} // 수요일
if (restDays == 4) {
System.out.print(" ");
for (int i = 0; i < cut; i++) {
System.out.print(days[i] + " ");
if (i == 2 || i == 9 || i == 16 || i == 23)
System.out.println();
}
} // 목요일
if (restDays == 5) {
System.out.print(" ");
for (int i = 0; i < cut; i++) {
System.out.print(days[i] + " ");
if (i == 1 || i == 8 || i == 15 || i == 22 || i == 29)
System.out.println();
}
} // 금요일
if (restDays == 6) {
System.out.print(" ");
for (int i = 0; i < cut; i++) {
System.out.print(days[i] + " ");
if (i == 0 || i == 7 || i == 14 || i == 21 || i == 28)
System.out.println();
} // 토요일
} // 나머지 월
System.out.println();
System.out.println("sumMonth: " + sumMonth);
System.out.println("restDays: " + restDays);
}
}