グレゴリオ暦の特定の年がうるう年かどうかを示すコードを書く必要があります。しかし、コードが毎年動くかどうかはわかりません。それは1900年、1901年、2000年に働きます。年が閏年であるかどうかを調べることを証明するコード
グレゴリアン年をうるう年にする前に、うるう年を作るべきでしょうか。モジュロ4の年が0の場合は、うるう年です。 4 = 0、年%100 = 0なら、それはそうではありません。最後に、年%4 = 0、年%100 = 0、年%400 = 0の場合、それはです。ここで
コードです:レコードの
public static boolean isLeapYearGregorian(int year) {
if ((year % 4 == 0) && (year % 100 != 0) || (year % 4 == 0) && (year % 100 == 0) && (year % 400 == 0)) {
return true;
}
else {
return false;
}
}
おかげ
とは何ですか? – XtremeBaumer
観測: '(年%4 == 0)&&(年%100 == 0)&&(年%400 == 0)'は '(年%400 == 0)'に単純化することができます400の倍数は必ず4と100の倍数です)。 – khelwood
より多くの年をチェックしてください。それは2016年には機能しますか? 2017? 1600? 1601?テストするケースが増えるほど、自信が深まることができます。これは単体テストの本質です。あなたがまだ不明な場合は、なぜあなた自身に尋ね、あなたの疑いが合理的であれば、より多くのテストケースを用意してそれらを守る。 –