教妳一個完整的java判斷平年閏年的小程序?

要求是這樣,一串提示,要求輸入一串整數字符的字符串作為一個年份,判斷一下這一年是平年還是閏年。

如果數字的字符串超出限制或不合法,則輸出錯誤提示,並提示重新輸入,直到正確並計算結果。

教妳一個完整的java判斷平年閏年的小程序

教妳一個完整的java判斷平年閏年的小程序

工具/原料

一臺再正常不過的已經配置了java環境的電腦

一款適合自己的開發集成環境,筆者自己用的是eclipse Kepler

活躍的大腦,勤勞的雙手

java判斷平閏年

如果妳現在在面試,如果妳現在在考試。如果妳很急忘記了怎麼寫,為了節省您 的寶貴時間,我把核心放在第一條這裡,請查閱。

if (year % 100 == 0) {

  if (year % 400 == 0) {

    return true;

  }

} else {

  if (year % 4 == 0) {

    return true;

  }

}

return false;

教妳一個完整的java判斷平年閏年的小程序

接下來,如果獲得一個年份的數字呢?這是我們今天的重頭戲。我們需要做許多判斷,這裡,我們分很多步驟來詳述。

教妳一個完整的java判斷平年閏年的小程序

獲取輸入參數,這裡用Scanner類的非靜態nextInt()方法。

Scanner sc = new Scanner(System.in);

int number = sc.nextInt();

教妳一個完整的java判斷平年閏年的小程序

但是,如果輸入的是字母那不就麻煩了?所以,我們還需要加以判斷。

這裡就不能直接從scanner裡面獲取數字了,我們要獲取的是字符串,

Scanner sc = new Scanner(System.in);

String str = sc.nextLine();

然後用正則表達式判斷一下。

if (!str.matches("^-?[1-9][0-9]*$")) {

System.out.println("Not an integer number! Input again:");

}

教妳一個完整的java判斷平年閏年的小程序

如果輸入的數字很長呢?那樣我也不喜歡怎麼辦?

我把ta們限制在-9999到10000之間,怎麼樣?就這樣辦吧~

private static boolean isOutOfRange(int year) {

return year > 9999 year < -10000;

}

教妳一個完整的java判斷平年閏年的小程序

最後,我們寫一個main方法測試一下,看看是否是咱預期的效果。

System.out.println("Please input a year as an integer number:");

int year = scannerYear();

System.out.print("The year of " + year + " is ");

System.out.print(isLeapYear(year) ? "" : "not ");

System.out.println("a leap year.");

教妳一個完整的java判斷平年閏年的小程序

好了,可以了。我把完整代碼截圖給大家: ^_^

教妳一個完整的java判斷平年閏年的小程序

注意事項

注意總結,溫故知新嘛!不要玩一玩就過去了。也別變成和筆者一樣的呆子哦~~

耐心,認真,仔細,嚴謹。

相關問題答案