うるう年の判定(IsLeapYear)

2020-08-27

こんにちは、0371です。

今回は、うるう年の判定方法について書いていきます。
基本情報技術者試験のアルゴリズムの問題集から、擬似言語の問題を実際の言語でプログラミングしてみました。

うるう年の判定方法 とは

西暦は4で割り切れ、かつ、100で割り切れなければ、うるう年である。 また、西暦が400で割り切れるのであれば、うるう年である。 どちらにも該当しない場合は、うるう年ではない。

コード

今回は、1つの整数(西暦)からうるう年の判定を行います。 言語はJavaです。

main関数内の変数 year に好きな西暦を当てはめてください。

Main.java

public class Main {

	public static void main(String[] args) {
		int year = 1600; // ここに西暦を入力
		IsLeapYear(year);
	}

	private static void IsLeapYear(int year) {
		if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
			System.out.println(year+"年は、うるう年です。");
		} else {
			System.out.println(year+"年は、うるう年ではありません。");
		}
	}
}

a % b == cという記述で、a / b の余りを求めることができます。
また、&&でand条件、||でor条件を表すことができます。

少ない行数で書くには、if文の使い方が鍵になりそうです。

数値を変えて何度か実行すると、結果はこのように表示されます。

2020年は、うるう年です。
1600年は、うるう年です。
2021年は、うるう年ではありません。

今日の一言

if文で判定するだけなので、これは簡単。