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

📄 calender.java

📁 一些Java的小的应用程序
💻 JAVA
字号:
/**打出日历*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Calender {
public static void main(String args[]){
	try{BufferedReader input=new BufferedReader
		(new InputStreamReader(System.in));
	String s="";int year,month;
	boolean wrong =true;
	while(wrong){
		System.out.println("整年日历(a)还是某年某月的日历(p)");
		s=input.readLine();
		if(s.equalsIgnoreCase("a")){
			System.out.println("输入年份:");
			year=Integer.parseInt(input.readLine());
			if(year<0)throw new InputException();
			calender1(year);wrong=false;
		}else if(s.equalsIgnoreCase("p")){
			System.out.println("输入年份:");
		 year=Integer.parseInt(input.readLine());
		 if(year<0)throw new InputException();
			System.out.println("输入月份:");
		 month=Integer.parseInt(input.readLine());
			if(month>12)throw new MonthException();
			calender2(year,month);wrong=false;
		}else {
			System.out.println("错误!!!!!!");
			wrong=false;
		}
	}
}catch(InputException e1){
	System.out.println(e1.getMessage());
	System.exit(0);
}catch(MonthException e2){
	System.out.println(e2.getMessage());
	System.exit(0);
}catch(Exception e){
	System.out.println(e.getMessage());
	System.exit(0);
}}public static boolean leapyear(int i){
	boolean leapyear;
	if(i%400==0|(i%100!=0&i%4==0))
		leapyear=true;
	else leapyear=false;
	return leapyear;
}public static void calender1(int year){
	int day=getday(year);
	int[] a=new int[12];
	a[0]=a[2]=a[4]=a[6]=a[7]=a[9]=a[10]=a[11]=31;
	a[3]=a[5]=a[8]=a[10]=30;
	if(leapyear(year))a[1]=29;
	else a[1]=28;
	System.out.println("公元 "+year+" 年 ");
	for(int i=0;i<a.length;i++){
		System.out.println(change(i+1)+" 月 ");
		System.out.println("日\t一\t二\t三\t四\t五\t六");
		for(int j=0;j<day;j++)
		System.out.print(" \t");
		for(int k=0;k<a[i];k++){
		System.out.print((k+1)+"\t");
		if((k+1+day)%7==0)System.out.println();
		}System.out.println();
		day=(day+a[i])%7;
	}
}public static void calender2(int year,int month){
	int day=days(year);int week=0;int sum;int weekday;
	int[] a=new int[12];
	a[0]=a[2]=a[4]=a[6]=a[7]=a[9]=a[10]=a[11]=31;
	a[3]=a[5]=a[8]=a[10]=30;
	if(leapyear(year))a[1]=29;
	else a[1]=28;
	for(int i=0;i<month;i++)
		week+=a[i];
	sum=day+week;
	weekday=sum%7+1;
	int x=-(weekday-1);
	System.out.print("公元 "+year+" 年 ");
	System.out.println(change(month)+" 月 ");
	System.out.println();
	int [][] b=new int[6][7];
	for(int i=0;i<b.length;i++)
		for(int j=0;j<b[i].length;j++)
			{
			b[i][j]=x++;//System.out.println(b[i][j]);
			}
	System.out.println("日\t一\t二\t三\t四\t五\t六");
	for(int i=0;i<b.length;i++)
		{for(int j=0;j<b[i].length;j++)
			if(b[i][j]<=0)System.out.print(" \t");
			else if(b[i][j]>0&b[i][j]<=a[month-1])
				System.out.print(b[i][j]+"\t");
		System.out.println();}
}public static int days(int year){
	int sum;sum=365*(year-1);
	int m=0;
	for(int i=1;i<=year;i++)
		if(leapyear(i))m++;
	return (sum+m);
}public static String change(int month){
	String result=null;
	switch(month){
	case 1:result="一";break;
	case 2:result="二";break;
	case 3:result="三";break;
	case 4:result="四";break;
	case 5:result="五";break;
	case 6:result="六";break;
	case 7:result="七";break;
	case 8:result="八";break;
	case 9 :result="九";break;
	case 10:result="十";break;
	case 11:result="十一";break;
	case 12:result="十二 ";break;
	}return result;
}public  static int getday(int n){
	int m=days(n);
	m=m%7+1;
	return m;
}
}

⌨️ 快捷键说明

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