import java.util.Scanner; public class Show_calendar { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter the year and the first day: "); int year = input.nextInt(); // 年份 int day = input.nextInt(); // 当年1月1号是星期几 int feb_days = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? 29 : 28; // 计算二月份的天数 int month, date, num_blank, days = 0; // 月份,日期,当月第一天前面的空格数,当月的天数 for (month = 1; month <= 12; month++) { day += days; days = 31; switch (month) { case 1: System.out.print("\t\tJanuary "); break; case 2: System.out.print("\t\tFebruary "); days = feb_days; break; case 3: System.out.print("\t\tMarch "); break; case 4: System.out.print("\t\tApril "); days = 30; break; case 5: System.out.print("\t\tMay "); break; case 6: System.out.print("\t\tJune "); days = 30; break; case 7: System.out.print("\t\tJuly "); break; case 8: System.out.print("\t\tAugust "); break; case 9: System.out.print("\t\tSeptember "); days = 30; break; case 10: System.out.print("\t\tOctober "); break; case 11: System.out.print("\t\tNovember "); days = 30; break; case 12: System.out.print("\t\tDecember "); } System.out.println(year); System.out.println("----------------------------"); System.out.println("Sun\tMon\tTue\tWed\tThu\tFri\tSat"); for (num_blank = 0; num_blank < day % 7; num_blank++) System.out.print(" \t"); for (date = 1; date <= days; date++) if ((date + num_blank) % 7 == 0) System.out.println(date); else System.out.print(date + "\t"); if ((date - 1 + num_blank) % 7 != 0) System.out.println(); } } }
Java语言程序设计第5章编程练习题5.29(显示日历)提示用户输入年份和代表该年第一天是星期几的数字,然后在控制台上显示该年的日历表。
于 2022-01-24 17:31:06 首次发布