import java.util.Scanner;
public class Calendar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 年
System.out.println("输入年份");
int year = sc.nextInt();
// 月
System.out.println("输入月份");
int month = sc.nextInt();
int day = 0;
boolean result;
// totalDays总天数
int totalDays = 0;
// 判断年份是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
result = true;
System.out.println(year + "是闰年");
} else {
result = false;
System.out.println(year + "不是闰年");
}
for (int i = 1900; i < year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
totalDays += 366;
} else {
totalDays += 365;
}
}
// 判断每个月份的天数
for (int i = 1; i <= month; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
if (result) {
day = 29;
} else {
day = 28;
}
break;
default:
System.out.println("输入有误!");
}
// 输入月份的天数不能包含在总的天数和之内,但是要保存在day中。
if (i != month) {
totalDays += day;
}
}
// 每月的第一天是星期几,就知道了这一天前面有多少的空格。
int beforeDays = 0;
beforeDays = 1 + totalDays % 7;
if (beforeDays == 7) {
beforeDays = 0;// 代表星期日
}
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
for (int i = 0; i < beforeDays; i++) {
System.out.print("\t");
}
for (int i = 1; i <= day; i++) {
System.out.print(i + "\t");
if ((i + beforeDays) % 7 == 0) {
System.out.println();
}
}
}
}