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++; } } } }
本文由用戶 cyjjkz1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!