Java でのうるう年の計算
4 年ごとに、カレンダーに 2 月 29 日を 1 日追加することで、うるう年がカレンダーに追加されます。 今日のチュートリアルでは、Java
を使用してうるう年を計算する方法を学びます。
Java を使用したうるう年の計算
一般的にうるう年は 4 年ごとに発生しますが、うるう年の規則は以下に記載されています。
- 4 で割り切れる年はうるう年です。
1900
や2000
のように100
で割り切れる年は、400
で割り切れない限りうるう年にはなりません。 その結果、1600
と2000
は閏年でしたが、1700
、1800
、1900
は閏年ではありませんでした。- 上記の両方の基準を満たす年はうるう年です。
例を挙げましょう。 まず、ユーザーが好きな年を入力できるように、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
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