Java でのうるう年の計算

Muhammad Zeeshan 2023年10月12日
Java でのうるう年の計算

4 年ごとに、カレンダーに 2 月 29 日を 1 日追加することで、うるう年がカレンダーに追加されます。 今日のチュートリアルでは、Java を使用してうるう年を計算する方法を学びます。

Java を使用したうるう年の計算

一般的にうるう年は 4 年ごとに発生しますが、うるう年の規則は以下に記載されています。

  1. 4 で割り切れる年はうるう年です。
  2. 19002000 のように 100 で割り切れる年は、400 で割り切れない限りうるう年にはなりません。 その結果、16002000 は閏年でしたが、170018001900 は閏年ではありませんでした。
  3. 上記の両方の基準を満たす年はうるう年です。

例を挙げましょう。 まず、ユーザーが好きな年を入力できるように、Scanner クラスがここにインポートされます。

if-else ブロックの残りは、入力年がうるう年かどうかを確認するために 1 行にまとめられます。 次のコード例は、ある年がうるう年かどうかを確認する方法を示しています。

まず、次のライブラリをインポートします。

import java.io.*;
import java.util.Scanner;

ユーザーが指定した年を保持するには、main クラスに Useryear という名前の int 型変数を作成します。

int Useryear;

Scanner クラス オブジェクトを初期化します。 次に、s と呼ばれる Scanner クラスのオブジェクトを使用して、ユーザーからの入力を取得します。

Scanner s = new Scanner(System.in);
Useryear = s.nextInt();

最初の条件では、世紀の閏年かどうかをチェックし、2 番目の条件では、世紀の年ではなく閏年であるかどうかをチェックします。

if ((Useryear % 400 == 0) || ((Useryear % 4 == 0) && (Useryear % 100 != 0)))

両方の条件が true の場合、"Given year is a leap year" と表示されます。それ以外の場合、"Given year is not a leap year" と表示されます。

完全なソース コード:

import java.io.*;
import java.util.Scanner;

public class leapyear {
  public static void main(String[] args) {
    int Useryear;
    Scanner s = new Scanner(System.in);
    Useryear = s.nextInt();
    if ((Useryear % 400 == 0) || ((Useryear % 4 == 0) && (Useryear % 100 != 0))) {
      System.out.println(Useryear + " : Given year is a leap year");
    } else {
      System.out.println(Useryear + " : Given year is not a leap year");
    }
  }
}

出力:

// Input Year
2000
2000 : Given year is a leap year

// Input Year
2022
2022 : Given year is not a leap year
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn