java简单的万年历详解编程语言

简单的万年历    

import java.util.*; 
 
public class Blank{ 
	public static void main(String[] args){ 
		Scanner input=new Scanner(System.in); 
		System.out.println("选择年份(注必须大于1990年):"); 
		int year=input.nextInt(); 
		System.out.println("选择该年月份:"); 
		int month=input.nextInt(); 
		//先判断year是否是闰年 
		boolean Renyear;//定义布尔类型true or false 
		if(year%4==0&&year%100!=0||year%400==0){ 
			System.out.println(year+"是闰年"); 
			Renyear=true; 
		} 
		else{ 
			System.out.println(year+"是平年"); 
			Renyear=false; 
		} 
		//记录当月的天数 
		int day=0; 
		switch (month){ 
		case 1:day=31;break; 
		//case 2:day=28 or 29;break; 
		case 3:day=31;break; 
		case 4:day=30;break; 
		case 5:day=31;break; 
		case 6:day=30;break; 
		case 7:day=31;break; 
		case 8:day=31;break; 
		case 9:day=30;break; 
		case 10:day=31;break; 
		case 11:day=30;break; 
		case 12:day=31;break; 
		default:if(Renyear){ 
			day=29; 
		} 
		else{ 
			day=28; 
		} 
		break; 
		} 
    	System.out.print(year+"年"+month+"月"+"有"+day+"天"+"/t"); 
        System.out.println(month+"月份的万年历如下:"); 
		//统计从1990年到指定日期的天数,1990年1月1日为星期一。 
		int sum=0; 
		//从1990年开始循环,循环次数是:指定年份—1990; 
		for(int i=1990;i<year;i++){ 
			//判断是否是闰年 
			if(i%4==0&&i%100!=0||i%400==0){ 
				sum=sum+366; 
			} 
			else{ 
				sum=sum+365; 
			} 
		} 
		//统计月份的天数 
		for(int i=1;i<month;i++){ 
			//大月 
			if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){ 
				sum=sum+31; 
			} 
			//小月 
			else if(i==4||i==6||i==9||i==11){ 
				sum=sum+30; 
			} 
			//二月 
			else { 
				if(Renyear) 
				sum=sum+29; 
			    else 
				sum=sum+28; 
		    }	 
		} 
	 
		//该公式起始时间是1990年1月1日,且1月1日是星期一。 
		int blank=sum%7+1;//blank开始输出的空格数 +1是从星期天开始; 
		System.out.println("星期天/t星期一/t星期二/t星期三/t星期四/t星期五/t星期六"); 
		 
		int temp=1; 
		for(int i=0;i<blank;i++){ 
			System.out.print("/t"); 
			temp++; 
		} 
		if(temp>7){ 
			System.out.println(""); 
			temp=1; 
		} 
		for(int i=1;i<=day;i++){ 
			if(temp%7==0){ 
				System.out.print(i+"/n");//控制换行 
				temp=1; 
			} 
			else{ 
				System.out.print(i+"/t"); 
				temp++; 
			} 
		} 
		 
	} 
} 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10409.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论