
上記悩みを解決します。
執筆者

Javaでうるう年を判定するプログラム
以下がプログラムになります。
「2000年~2100年」までの期間でうるう年を判定しています。
※カレンダークラスを利用したケースはこの後に出てきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
public class Leapyear { public static void main(String[] args) { // 2000年~2100年まで for (int year = 2000; year < 2100; year++) { // 年号を4で割った余りが0 if (year % 4 == 0) { // 年号を100で割り切れない if (year % 100 != 0) { System.out.println(year + "年は「うるう年」です。"); continue; } // 年号を400で割り切れる if (year % 400 == 0) { System.out.println(year + "年は「うるう年」です。"); } else { System.out.println(year + "年は「うるう年」ではありません。"); } } else { System.out.println(year + "年は「うるう年」ではありません。"); } } } } |
実行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
実行結果 ・・・抜粋 2010は「うるう年」ではありません。 2011は「うるう年」ではありません。 2012は「うるう年」です。 2013は「うるう年」ではありません。 2014は「うるう年」ではありません。 2015は「うるう年」ではありません。 2016は「うるう年」です。 2017は「うるう年」ではありません。 2018は「うるう年」ではありません。 2019は「うるう年」ではありません。 2020は「うるう年」です。 ・・・抜粋 |
うるう年とは
- 西暦を4で割り切れる年のこと
- 但し、西暦が100で割り切れて400で割り切れない年は「うるう年」ではない。
うるう年のきっかけ
フローチャート
うるう年を判定するプログラムのフローチャートです。
よくある質問:もっと綺麗に書く方法は無いですか?
Calenderクラスを用いると、綺麗でシンプルに判定する事が出来ます。
うるう年判定をCalenderクラスで行う
プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// Calendarクラスを用いた、うるう年の判定 import java.util.Calendar; import java.util.GregorianCalendar; public class LeapyearCalendar { public static void main(String[] args) { GregorianCalendar cal = (GregorianCalendar)Calendar.getInstance(); // 2000年〜2100年までを判定 for (int year = 2000; year < 2100; year++) { // うるう年か判定 if (cal.isLeapYear(year)) { System.out.println(year + "年は「うるう年」です。"); } else { System.out.println(year + "年は「うるう年」ではありません。"); } } } } |
プログラム解説
Javaが用意している「GregorianCalendar」クラスの「isLeapYear」メソッドを使用する事で、うるう年の判定出来ます。メチャクチャ簡単ですね。
今回は、以上になります。

Java入門にオススメの書籍2冊【現役エンジニアが厳選選択】
Javaでオススメの資格は「OCJ-P」です【実体験あり】