显示某年某月日历表(客户程序)

package MONTH;
import javax.swing.*;
public class month {
 private int year;
 private int month;
 private String []every_month={"January","February","March","April","May","June","July","August","September","October","November","December"};
 int [] num={31,28,31,30,31,30,31,31,30,31,30,31};
 public month()
 {
  String year1=JOptionPane.showInputDialog("Enter a num");
  year=Integer.parseInt(year1);
  String month1=JOptionPane.showInputDialog("Enter a num");
  month=Integer.parseInt(month1);
 }
 public void printMonth()
 {
  printMonthTitle();
  printMonthBoby();
 }
 public void printMonthTitle()
 {
  System.out.println("                     "+getMonth()+"  "+year);
  System.out.println("--------------------------------------------------");
  System.out.printf("%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n","Sun","Mon","Tue","Wed","Thu","Fri","Sat");
 }
 public String getMonth()
 {
  return every_month[month-1];
 }
 public void printMonthBoby()
 {
  int week=getStartDay();
  int days=getNumberOfDaysInMonth(month-1);
  int i;
  for(i=0;i<week;i++)
   System.out.print("          ");
  for(i=0;i<days;i++)
  {
   System.out.printf("%-10d",i+1);
   week++;
   if((week%7)==0)
    System.out.println();
  }
  System.out.println();
 }
 public int getStartDay()
 {
  final int WEEK=3;
  int sum_day=getTotalNumberOfDays();
  return (sum_day+WEEK)%7;
 }
 public int getTotalNumberOfDays()
 {
  int total=0;
  for(int i=1800;i<year;i++)
  {
   if(isLeapYear(i))
    total=total+366;
   else
    total=total+365;
  }
  for(int j=0;j<month-1;j++)
   total=total+getNumberOfDaysInMonth(j);
  return total;
    
 }
 public int getNumberOfDaysInMonth(int j)
 {
  if((j==1)&&isLeapYear(year))
   return (num[j]+1);
  return num[j];
 }
 public boolean isLeapYear(int i)
 {
  if((i%4==0&&i%100!=0)||i%400==0)
   return true;
  return false;
 }
}

package MONTH; public class print {

 public static void main(String[] args) {   month a=new month();   a.printMonth();  }

}

posted @ 2012-09-23 01:13  ♂咱說 ろ算  阅读(353)  评论(0编辑  收藏  举报