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

📄 calendar.java

📁 Java控制台下的程序,输入年份和月份.即可打印出当月的日历表,并且可以选择输入具体的日期,可以显示出星期几.
💻 JAVA
字号:
package test;
	 import java.util.*;
	 public class calendar {
	   public static void main(String[] args){
	     System.out.println("**************欢迎使用万年历************");
	     int year=0;
	     int month=0;
	     int day=0; //所输入年份的月份天数;
	     int sumdays=0;//总天数
	     int yearday=0; //所输入年到1990年1月1日的天数
	     int monthday=0; //所输入月到所输的年1月1日的天数
	     int week=0;//该月第一天是星期几
	     int weekday=0;//当天是星期几
	     String answer;
	     do{
	     //请用户输入要查询的年份 和月份
	     //----------循环后更新数据
	     Scanner input = new Scanner(System.in);
	     System.out.print("请输入年份:");
	     year = input.nextInt();
	     System.out.print("请输入月份:");
	     month =input.nextInt();
	     
	     //判断该年是否是闰年
	     boolean isRn =year%4==0&&year%100!=0||year%400==0;
	     
	     if (month ==1||month ==3||month ==5||month ==7||month ==8||month ==10||month ==12){
	       day=31;
	     }
	     else if (month ==4||month ==6||month ==9||month ==11){
	       day=30;
	     }
	     else if (month ==2&&isRn==true){
	       day=29;
	     }
	     else {day=28;}
	     
	     //计算该月第一天是星期几
	     //计算所输入年1月1日到1900年1月1日的总天数
	     
	     for(int i=1900; i<year;i++){
	       if(i%4==0&&i%100!=0||i%400==0){
	         yearday=yearday+366;
	       }else{
	         yearday=yearday+365;
	       }
	     }
	     //计算所输入月份 到 所输入年份1月1号的天数
	     for(int n=1; n<month;n++){
	     if (n ==1||n ==3||n ==5||n ==7||n ==8||n ==10||n ==12){
	       monthday=monthday+31;
	     }
	     else if (n ==4||n ==6||n ==9||n ==11){
	       monthday=monthday+30;
	     }
	     else if (n ==2&&isRn==true){
	       monthday=monthday+29;
	     }
	     else {monthday=monthday+28;}
	     }

	      
	     //计算总天数
	     sumdays=yearday+monthday;
	     //计算该月第一天是星期几
	     week=1+sumdays%7;
	     //打印月历
	     System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
	     
	     //打印第一行空格
	     if(week!=7){  //判断第一天是否是星期日 如果是 不打印空格
	       for (int j=0;j<week;j++){
	         System.out.print("\t");
	       }  
	     }
	     for (int k=1;k<=day;k++){
	       weekday=(sumdays-1+k)%7+1; //计算当月每日是星期几
	       if(weekday==6){           //判断当日 是否是星期六
	       System.out.print(k+"\n");
	       }else{
	         System.out.print(k+"\t");
	       }
	     }
	     System.out.print("\n\n是否继续(y/n):");
	     answer =input.next();
	     }while(answer.equals("y"));

	   }

	 }


⌨️ 快捷键说明

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