⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printcalendar.java

📁 这是一个用来打印日历的JAVA小程序
💻 JAVA
字号:
public class PrintCalendar
{
  public static void main(String[] args)
   {
     System.out.print("Enter full year:");
     int year=MyInput.readInt();
     System.out.print("Enter month in number between 1 and 12:");
     int month=MyInput.readInt();
     printMonth(year,month);
   }
  static void printMonth(int year,int month)
  {
     int startDay=getStartDay(year,month);
     int numOfDaysInMonth=getNumOfDaysInMonth(year,month);
     printMonthTitle(year,month);
     printMonthBody(startDay,numOfDaysInMonth);
  }
   static int getStartDay(int year,int month)
   {
     int starDay1800=3;
     long totalNumOfDays=getTotalNumOfDays(year,month);
     return(int)((totalNumOfDays+starDay1800)%7);
   }
   static long getTotalNumOfDays(int year,int month)
   {
     long total=0;
     for(int i=1800;i<year;i++)
     {
       if(isLeapYear(i))
         total+=366;
       else
         total+=365;
     }
      for(int i=1;i<month;i++)
        total+=getNumOfDaysInMonth(year,i); 
    return total;     
   }
   static int getNumOfDaysInMonth(int year,int month)
   {
     if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
       return 31;
     if(month==4||month==6||month==9||month==11)
       return 30;
     if(month==2)
       if(isLeapYear(year))
        return 29;
       else 
        return 28;
     return 0;
   }
   static boolean isLeapYear(int year)
  {
    if((year%400==0)||(year%100!=0)||(year%4==0))
      return true;
    
      return false;
  }
  static void printMonthBody(int startDay,int numOfDaysInMonth)
  {
   int i=0;
   for(i=0;i<startDay;i++)
    System.out.print("   ");
   for(i=1;i<numOfDaysInMonth+1;i++)
    {
     if(i<10)
      System.out.print("   "+i);
     else 
      System.out.print("  "+i);
     if ((i+startDay)%7==0)
      System.out.println();
    }
   System.out.println();
  }
static void printMonthTitle(int year,int month)
  {
  	 System.out.println("          "+ getMonthName(month)+" "+year);
  	 System.out.println("----------------------------------------");
  	 System.out.println(" Sun Mon Tue Wed Thu Fri Sat") ;
  }
static String getMonthName(int month)
  {
   String monthName=null;
   switch(month)
     {
       case 1: monthName="January";break;
       case 2: monthName="February";break;
       case 3: monthName="March";break;
       case 4: monthName="April";break;
       case 5: monthName="May";break;
       case 6: monthName="June";break;
       case 7: monthName="July";break;
       case 8: monthName="August";break;
       case 9: monthName="September";break;
       case 10: monthName="October";break;
       case 11: monthName="November";break;
       case 12: monthName="Deceber";break;
     }
  return monthName;
  }
  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -