package com.Oracle;import java.util.*;public class Fist { public static void main(String[] args) { int year=2017; System.out.PRintln(year+"年的日历"); for(int i=1;i<13;i++) { int month=i; System.out.println(year+"年"+month+"月"+"的日历"); System.out.println("日/t一/t二/t三/t四/t五/t六"); int monthDays=0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: monthDays=31; break; case 4: case 6: case 9: case 11: monthDays=30; break; case 2: if(year%4==0&&year%100!=0||year%400==0) { monthDays=29; }else monthDays=28; break; default: break; } int weekDays=0; int days=0; for(int j=1900;j<year;j++) { int currentDay=j; if(currentDay%4==0&¤tDay%100!=0||currentDay%400==0) { days=days+366; } else { days=days+365; } } for (int j = 1; j < month; j++) { int currentMonth=j; switch (currentMonth) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=days+31; break; case 4: case 6: case 9: case 11: days=days+30; break; case 2: if (year%4==0 && year%100!=0 || year%400==0) { days=days+29; }else{ days=days+28; } break; default: break; } } weekDays=(days%7+1)%7; for(int j=1;j<=weekDays;j++) { System.out.print("/t"); } for(int j=1;j<monthDays+1;j++) { int day=j; System.out.print(day+"/t"); if((day+weekDays)%7==0) { System.out.println(); } } System.out.println(); } }}