javascript和JQuery焦点图和代码特效大全
当前最流行的开源CMS网站系统大全
当前位置:主页 > 编程开发 > JAVA技术 >

JAVA公历元年日历显示

来源:IT技术网编辑:素还真发布于:2013-09-03人围观Java显示日历公历

JAVA公历元年日历显示,具体代码如下:

import javax.swing.JOptionPane; 

public class PrintCalendar{
	public static void main(String[] args){
		String yearString=JOptionPane.showInputDialog("Enter full year (eg:2001):");

		int year=Integer.parseInt(yearString);

		String monthString=JOptionPane.showInputDialog("Enter month in number between 1 and 12:");

		int month=Integer.parseInt(monthString);

		printMonth(year,month);
	}

		static void printMonth(int year,int month){
			printMonthTitle(year,month);
			printMonthBody(year,month);
		}
		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="Jan";break;
			case 2:monthName="Feb";break;
			case 3:monthName="Mar";break;
			case 4:monthName="Apr";break;
			case 5:monthName="May";break;
			case 6:monthName="Jun";break;
			case 7:monthName="Jul";break;
			case 8:monthName="Aug";break;
			case 9:monthName="Sep";break;
			case 10:monthName="Oct";break;
			case 11:monthName="Nov";break;
			case 12:monthName="Dec";break;
			}
			return monthName;
		}

		static void printMonthBody(int year,int month){
			int startDay=getStartDay(year,month);
			int numberOfDaysInMonth=getNumberOfDaysInMonth(year,month);
			int i=0;
			for(i=0;i<startDay;i++)
				System.out.println("  ");
			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();
		}

		static int getStartDay(int year,int month){
			int startDay1800=3;
			int totleNumberOfDays=getTotalNumberOfDays(year,month);
			return(totleNumberOfDays+startDay1800)%7;
		}

		static int getTotalNumberOfDays(int year,int month){
			int total=0;

			for(int i=1800;i<year;i++)
				if(isLeapYear(i))
				total=total+366;
			else
				total=total+365;

			for(int i=1;i<month;i++)
				total=total+getNumberOfDaysInMonth(year,i);
			return total;
		}

		static int getNumberOfDaysInMonth(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) return isLeapYear(year)?29:28;
			return 0;
		}

		static boolean isLeapYear(int year){
			return year%400==0||(year%4==0&&year%100!=0);
		}
	}


Java,显示,日历,相关的文章
有时间的话来看看IT界的突发事件