显示日历

编写程序,提示用户输入年份和该年第一天的星期,在控制台上显示该年的日历

表。例如,用户输入2010年,第一天是星期5,则显示如下的日历:


显示日历_第1张图片

import javax.swing.*;
public class Date {
    public static void main(String[] args) {
        String yearString = JOptionPane.showInputDialog("Enter a year:");
        int year = Integer.parseInt(yearString);
        String firstDayString = JOptionPane.showInputDialog("Enter the first day of the year:");
        int firstDay = Integer.parseInt(firstDayString);
        int startDay = firstDay;
        int numberOfDaysInMonth = 0;
        // Display calendar for each month
        for (int month = 1; month <= 12; month++) {
            // Display Calendar title
            System.out.print("          ");
            switch (month) {
  case 1: System.out.println("January " + year);
                numberOfDaysInMonth = 31;
                break;
   case 2: System.out.println("Feburary " + year);
   	if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
                    numberOfDaysInMonth = 29;
        else
                    numberOfDaysInMonth = 28;
                break;
     case 3: System.out.println("March " + year);
                numberOfDaysInMonth = 31;
                break;
      case 4: System.out.println("April " + year);
                numberOfDaysInMonth = 30;
                break;
      case 5: System.out.println("May " + year);
                numberOfDaysInMonth = 31;
                break;
      case 6: System.out.println("June " + year);
                numberOfDaysInMonth = 30;
                break;
       case 7: System.out.println("July " + year);
                numberOfDaysInMonth = 31;
                break;
        case 8: System.out.println("August " + year);
                numberOfDaysInMonth = 31;
                break;
        case 9: System.out.println("September " + year);
                numberOfDaysInMonth = 30;
                break;
         case 10: System.out.println("October " + year);
                numberOfDaysInMonth = 31;
                break;
        case 11: System.out.println("November " + year);
                numberOfDaysInMonth = 30;
                break;
        case 12: System.out.println("December " + year);
                numberOfDaysInMonth = 31;
                break;
            }     System.out.println("-----------------------------");
            System.out.println(" Sun Mon Tue Wed Thu Fri Sat");
            // Pad space before the first day of the month
            int i = 0;
            for (i = 0; i < startDay; i++)
                System.out.print("    ");
            for (i = 1; i <= numberOfDaysInMonth; i++) {
                if (i < 10)
                    System.out.print("   " + i);
                else
                    System.out.print("  " + i);
                if ((i + startDay) % 7 == 0)
                    System.out.println();
            }
            System.out.println();
            System.out.println();
            // Get the start day for the next month
         startDay = (startDay + numberOfDaysInMonth) % 7;
        }
    }
}


你可能感兴趣的:(课程设计)