Java の LocalDate の isLeapYear メソッド

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、JavaのLocalDateクラスのisLeapYear()メソッドの使用方法を案内します。isLeapYear()メソッドは、与えられた年がうるう年かどうかを示すtrueまたはfalseのブール値を返します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java/BasicSyntaxGroup -.-> java/booleans("Booleans") java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") subgraph Lab Skills java/booleans -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} java/output -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} java/classes_objects -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} java/packages_api -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} java/date -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} java/files -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} java/create_write_files -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} java/working -.-> lab-117808{{"Java の LocalDate の isLeapYear メソッド"}} end

新しいJavaファイルを作成する

~/projectディレクトリに移動し、次のコマンドを使用してLeapYearChecker.javaという新しいJavaファイルを作成します。

touch LeapYearChecker.java

必要なパッケージをインポートする

JavaのLocalDateクラスをインポートするために、ファイルの先頭に次のインポート文を追加します。

import java.time.LocalDate;

メインメソッドを作成する

新しいmainメソッドを作成するために、次の署名をファイルに追加します。

public static void main(String[] args) {
    // Write your code here
}

ある年がうるう年かどうかを確認する

mainメソッドの中で、LocalDateオブジェクトを作成し、確認したい年を第一引数として渡しながら、月と日の値を任意の有効な値に設定します。isLeapYear()メソッドを使用して、その年がうるう年かどうかを確認し、その結果を表示します。以下は例です。

LocalDate date = LocalDate.of(2024, 1, 1);
boolean isLeapYear = date.isLeapYear();
System.out.println("Is the year 2024 a leap year? " + isLeapYear);

プログラムをテストする

ファイルに変更を保存し、エディタを終了します。次のコマンドを使用してプログラムをコンパイルして実行します。

javac LeapYearChecker.java
java LeapYearChecker

次の出力が表示されるはずです。

Is the year 2024 a leap year? true

別の年をテストする

その年がうるう年かどうかを確認するために、年の値を別の年に変更します。たとえば、年を2021に変更します。

LocalDate date = LocalDate.of(2021, 1, 1);
boolean isLeapYear = date.isLeapYear();
System.out.println("Is the year 2021 a leap year? " + isLeapYear);

次のうるう年をテストする

プログラムがうるう年を正確にチェックできることを確認するために、年を次のうるう年である2024に変更します。

LocalDate date = LocalDate.of(2024, 1, 1);
boolean isLeapYear = date.isLeapYear();
System.out.println("Is the year 2024 a leap year? " + isLeapYear);

うるう年でない年をテストする

年をうるう年でない任意の年、たとえば2022年に変更します。

LocalDate date = LocalDate.of(2022, 1, 1);
boolean isLeapYear = date.isLeapYear();
System.out.println("Is the year 2022 a leap year? " + isLeapYear);

100で割り切れるが400で割り切れない年をテストする

年を100で割り切れるが400で割り切れない年、たとえば1900年に変更します。

LocalDate date = LocalDate.of(1900, 1, 1);
boolean isLeapYear = date.isLeapYear();
System.out.println("Is the year 1900 a leap year? " + isLeapYear);

400で割り切れる年をテストする

年を400で割り切れる年、たとえば2000年に変更します。

LocalDate date = LocalDate.of(2000, 1, 1);
boolean isLeapYear = date.isLeapYear();
System.out.println("Is the year 2000 a leap year? " + isLeapYear);

まとめ

この実験では、JavaのLocalDateクラスのisLeapYear()メソッドを使って、与えられた年がうるう年かどうかをチェックする方法を学びました。このガイドに従えば、Javaを使ってISO暦系のルールに基づいて、ある年がうるう年かどうかを正確に判断することができます。