題目內容:給兩整數一為年份,一為月份,判斷該年是否為閏年及該月有幾天
閏年判斷規則:可以被 4 整除的年份為閏年:例如,1988、1992 及 1996 均為閏年。 然而,仍有一個小誤差必須列入考量。為了消除這個誤差,西曆規定,可以被 100 整除的年份 (例如 1900) 必須同時被 400 整除才是閏年。
基於這個原因,下列年份為非閏年: 1700、1800、1900、2100、2200、2300、2500、2600 這是因為這些年份可被 100 整除,但不能被 400 整除。
下列年份「均為」閏年:
1600, 2000, 2400
這是因為它們可以同時被 100 和 400 整除。
int month = 2;
int leapyear = 2019 ;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
System.out.println(month + " has 31 days.");
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
System.out.println(month + " has 30 days.");
} else if (month == 2) {
//...leap year.
if(leapyear%4==0){
//先判斷此年份能不能被4整除
if (leapyear%100==0 && leapyear%400!=0){
//被100整除的年份要能被400同時整除才可以是閏年
System.out.println(leapyear + "此年份不為閏年,2月有28天"); }
else{
System.out.println(leapyear + "此年份為閏年,2月有29天"); }
}else { //不能被4整除的數都不是閏年
System.out.println("此年不為閏年,2月有28天");
}
} else {
System.out.println("Invalid Month");}
System.out.println("finished");}
Output:
此年不為閏年,2月有28天
finished





