package Calendar;
import java.util.Scanner;
public class Calendar {
public static int isLunar(int year)
{
int iret;
iret = year%4==0?(year%100==0?(year%400==0?1:0):1):0;
return(iret);
}
public static int Calculate_Year_Week(int year,int mon)
{
int i,week = 1; // 월요일
int[] Month = {31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1900;i<year;i++) week = week + 1 + isLunar(i);
for(i=0;i<mon-1;i++) week = week + Month[i];
week = week + (mon>3 ? isLunar(year) : 0);
return(week);
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[] Week = {"일","월","화","수","목","금","토"};
int[] Month = {31,28,31,30,31,30,31,31,30,31,30,31};
int year,mon,week,day,i;
System.out.print("년도를 입력하세요 = ");
year = scan.nextInt();
System.out.print("월을 입력하세요 = ");
mon = scan.nextInt();
week = Calculate_Year_Week(year,mon) % 7;
System.out.printf("%d년도 %d월 1일은 %s요일입니다.\n",year,mon,Week[week]);
System.out.println(" 일 월 화 수 목 금 토");
day = Month[mon-1] + (isLunar(year)==1 && mon==2 ? 1 : 0);
for(i=0;i<week;i++) System.out.print(" ");
for(i=1;i<=day;i++) {
System.out.printf(" %2d",i);
if ((i+week)%7==0) System.out.println();
}
}
}