import java.util.*;
public class PrintCalender1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("**********************欢迎使用万年历********************");
System.out.print("请选择年份:");
Scanner input = new Scanner(System.in);
int year = input.nextInt();
System.out.print("请选择月份:");
int month = input.nextInt();
//1判断闰年
boolean Isrun = false;
String yearMsg = "";
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
Isrun = true;
yearMsg = "闰年";
}
else{
Isrun = false;
yearMsg = "平年";
}
System.out.println(year + "年/t" + yearMsg);
//System.out.println(Isrun);
//2判断月的天数
int day = 0;
switch (month){
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 (Isrun){
day = 29;
}
else{
day = 28;
}
break;
}
System.out.println(month + "月/t共" + day + "天");
// System.out.println(day);
//3计算距离1900年整年的天数
int sumDay = 0;
int sumYearDay = 0;
for (int i = 1900; i < year; i++){
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0){
sumYearDay = sumYearDay + 366;
}
else{
sumYearDay = sumYearDay + 365;
}
}
// System.out.println(sumYearDay);
//4计算距离本年开始的天数
int sumMonthDay = 0;
for (int j = 1; j < month; j++){
switch(j){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sumMonthDay = sumMonthDay + 31;
break;
case 4:
case 6:
case 9:
case 11:
sumMonthDay = sumMonthDay + 30;
break;
case 2:
if (Isrun){
sumMonthDay = sumMonthDay + 29;
}
else{
sumMonthDay = sumMonthDay + 28;
}
break;
}
}
// System.out.print(sumMonthDay);
//5计算输入月份的第一天是星期几
sumDay =sumYearDay + sumMonthDay;
int week = sumDay % 7 + 1;
//调整,如果一号是星期日,则不加空格
if (week == 7){
week = 0;
}
System.out.println(year+"年"+month+"月的一号是星期"+week);
//6格式输出万年历
System.out.println("*******************" + year + "年" + month + "月的万年历是:*******************");
System.out.print("星期日/t星期一/t星期二/t星期三/t星期四/t星期五/t星期六/n");
int count = 0;
//输出空格
for (int s = 0; s < week; s++){
count++;
System.out.print("/t");
}
//输出日期数
for (int w = 1; w <=day; w++){
System.out.print(w + "/t");
count++;
//满7天换行
if (count % 7 == 0){
System.out.print("/n");
}
}
}
}