問題闡述
地球繞太陽一圈稱之為一年,所用時間是 365 天 5 小時 48 分 46 秒,取 365 天為一年,4 年將多出 23 小時 15 分 6 秒,將近一天,所以 4 年設(shè)一閏日(2 月 29 日),該年稱為閏年。如何應(yīng)用 if 語句判斷某一年是否為閏年?
達內(nèi)java培訓(xùn)解答
接收控制臺上輸入的年份,并應(yīng)用 if 語句判斷該年是否為閏年,可以使用下面的代碼來實現(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("請輸入一個年份:"); //向控制臺輸出一個提示信息
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("您輸入的不是有效的年份!”);
}
}
}
說明:
java.util 包中的 Scanner 類是一個用于掃描輸入文本的簡單文本掃描器,可以用這個類從控制臺寫入數(shù)據(jù)。該類的 nextLong()方法可以將輸入信息掃描為一個 long 型的數(shù)據(jù),如果輸入的信息不能被成功轉(zhuǎn)換為 long 型,將拋出 java.util.InputMismatchException 異常。
運行上面的代碼,在控制臺上輸入“2012”并按下 Enter 鍵,將顯示如圖 4.1 所示的運行結(jié)果。
點評
判斷某一年份是否為閏年,要滿足兩個條件,一個是能被 4 整除但不能被 100 整除,另一個是能被 400 整除。由此可以得出判斷閏年的公式,用 Java 語法實現(xiàn)如下:
year % 4 == 0 && year % 100 !=0 || year % 400 == 0