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