package day02.xiangmu.wannianli;
import java.util.Scanner;
public class CalendarTest {
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 allDays = 0;
for (int i =1900;i<year;i++){
if ((i%400==0) || (i%4==0 && i%100!=0))
allDays+=366;
else
allDays+=365;
}
//月份的总天数
int days = 0;
for (int i = 1;i<=month;i++){
//判断月份,用switch,只储存一个月的天数
switch (i){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days = 31;
break;
case 4: case 6: case 9: case 11:
days = 30;
break;
case 2:
if ((year % 400 == 0)||(year%4 ==0 && year % 100 != 0))
days = 29;
else
days = 28;
break;
}
if (i<month)
allDays+=days;
}
//计算月前的空白格
int temp = (allDays+1)%7;
System.out.println("周日\t周一\t周二\t周三\t周四\t周五\t周六");
//打印空白
for (int i = 1;i<= temp;i++)
System.out.print("\t");
//输出月份天数
for (int i= 1;i<=days;i++){
System.out.print(i+"\t");
//换行
if ((allDays + i)%7==6)
System.out.println();
}
}
}