| import java.util.Scanner; class wan {
 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 yearday = 0 ;
 if (year / 400 ==0) {
 yearday = 366;
 System.out.println(year+"是闰年");
 }else if (year % 100 != 0 && year % 4 == 0) {
 yearday = 366;
 System.out.println(year+"是闰年");
 }else {
 yearday = 365;
 System.out.println(year+"是平年");
 }
 //获取输入年份到1900年的总天数
 int z = 0;
 for (int a = 1900;a < year ;a++ ) {
 if (a / 400 ==0) {
 z += 366;
 }else if (a % 100 != 0 && a % 4 == 0) {
 z += 366;
 }else {
 z += 365;
 }
 }
 
 int y = 0;
 for (int i = 1;i < month ;i++ ) {
 y += getDay(i , year);
 }
 System.out.println("一\t二\t三\t四\t五\t六\t日");
 int week = (z + y) % 7 + 1;
 for (int x = 1 ;x <= week ;x++ ) {
 if (week ==7) {
 break;
 }
 System.out.print("\t");
 }
 for (int x = 1;x <= getDay(month , year) ; x++ ) {
 System.out.print(x+"\t");
 if ((x + week)%7==0) {
 System.out.println();
 }
 }
 }
 //获取输入月份的天数
 public static int getDay(int a , int b){
 int day = 0;
 switch (a) {
 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 ( b / 400 ==0) {
 day = 29;
 }else if (b % 100 != 0 && b % 4 == 0) {
 day = 29;
 }else {
 day = 28;
 }
 break;
 }
 return day;
 }
 }
 
 |