問(wèn)題闡述
地球繞太陽(yáng)一圈稱之為一年,所用時(shí)間是 365 天 5 小時(shí) 48 分 46 秒,取 365 天為一年,4 年將多出 23 小時(shí) 15 分 6 秒,將近一天,所以 4 年設(shè)一閏日(2 月 29 日),該年稱為閏年。如何應(yīng)用 if 語(yǔ)句判斷某一年是否為閏年?
達(dá)內(nèi)java培訓(xùn)解答
接收控制臺(tái)上輸入的年份,并應(yīng)用 if 語(yǔ)句判斷該年是否為閏年,可以使用下面的代碼來(lái)實(shí)現(xiàn)。
import java.util.Scanner; //導(dǎo)入 java.util 包中的 Scanner 類
public class
Leapyear {
public static void main(String[]
args) { //主方法
Scanner scan = new
Scanner(System.in);
System.out.println("請(qǐng)輸入一個(gè)年份:"); //向控制臺(tái)輸出一個(gè)提示信息
long year;
try {
year = scan.nextLong();
if (year % 4 == 0
&& year % 100 != 0 || year % 400 == 0) { //是閏年
System.out.print(year
+ "是閏年!");
} else { //不是閏年
System.out.print(year + "不是閏年!");
}
}
catch (Exception e) {
System.out.println("您輸入的不是有效的年份!”);
}
}
}
說(shuō)明:
java.util 包中的 Scanner 類是一個(gè)用于掃描輸入文本的簡(jiǎn)單文本掃描器,可以用這個(gè)類從控制臺(tái)寫(xiě)入數(shù)據(jù)。該類的 nextLong()方法可以將輸入信息掃描為一個(gè) long 型的數(shù)據(jù),如果輸入的信息不能被成功轉(zhuǎn)換為 long 型,將拋出 java.util.InputMismatchException 異常。
運(yùn)行上面的代碼,在控制臺(tái)上輸入“2012”并按下 Enter 鍵,將顯示如圖 4.1 所示的運(yùn)行結(jié)果。
點(diǎn)評(píng)
判斷某一年份是否為閏年,要滿足兩個(gè)條件,一個(gè)是能被 4 整除但不能被 100 整除,另一個(gè)是能被 400 整除。由此可以得出判斷閏年的公式,用 Java 語(yǔ)法實(shí)現(xiàn)如下:
year % 4 == 0 && year % 100 !=0 || year % 400 == 0