Java の Float.equals() メソッド

JavaJavaBeginner
今すぐ練習

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

はじめに

Java では、Float クラスには equals() メソッドがあり、これは 2 つの float 値の等価性を比較するのに役立ちます。この実験では、このメソッドの実装、構文、およびさまざまな例について学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java/BasicSyntaxGroup -.-> java/booleans("Booleans") java/BasicSyntaxGroup -.-> java/output("Output") java/StringManipulationGroup -.-> java/strings("Strings") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/booleans -.-> lab-117650{{"Java の Float.equals() メソッド"}} java/output -.-> lab-117650{{"Java の Float.equals() メソッド"}} java/strings -.-> lab-117650{{"Java の Float.equals() メソッド"}} java/user_input -.-> lab-117650{{"Java の Float.equals() メソッド"}} java/exceptions -.-> lab-117650{{"Java の Float.equals() メソッド"}} java/create_write_files -.-> lab-117650{{"Java の Float.equals() メソッド"}} java/object_methods -.-> lab-117650{{"Java の Float.equals() メソッド"}} java/string_methods -.-> lab-117650{{"Java の Float.equals() メソッド"}} end

クラスファイルのセットアップ

まず、~/project ディレクトリに Java ファイルを作成します。それを FloatEquals.java と名付けましょう。

cd ~/project
touch FloatEquals.java

equals() メソッドの実装

FloatEquals.javamain メソッド内に equals() メソッドを記述します。その後、2 つの Float オブジェクトを作成し、equals() メソッドを使用して比較します。最後に、結果をコンソールに出力します。

FloatEquals.java ファイルに次のコードを追加します。

public class FloatEquals {
    public static void main(String[] args) {
        // Implementing the equals() method
        Float num1 = 10.5f;
        Float num2 = 10.5f;
        boolean equal = num1.equals(num2);
        System.out.println("Are num1 and num2 equal? " + equal);
    }
}

解説:ここでは、2 つの Float オブジェクト num1num2 を作成し、それぞれを 10.5f に設定しました。その後、equals() メソッドを使用して比較し、結果を equal という boolean 型の変数に格納しました。最後に、結果を文字列と連結して println() メソッドを使用してコンソールに出力しました。

equals() メソッドに異なる値を渡す

これで Float オブジェクト用のメソッドを実装したので、ユーザーに 2 つの異なる Float 値を入力してもらい、equals() メソッドを使って比較するようにしましょう。

FloatEquals.javamain メソッドに追加したコードを次のコードに置き換えます。

import java.util.Scanner;

public class FloatEquals {
    public static void main(String[] args) {
        // Providing different values to the equals() method
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter value 1: ");
        Float num1 = sc.nextFloat();
        System.out.print("Enter value 2: ");
        Float num2 = sc.nextFloat();
        boolean equal = num1.equals(num2);
        System.out.println("Are the values equal? " + equal);
    }
}

解説:ここでは、Scanner クラスとその nextFloat() メソッドを使って、ユーザーから 2 つの Float 値を入力として受け取っています。その後、equals() メソッドを使って比較し、結果を equal という boolean 型の変数に格納しています。最後に、文字列を結果と連結して println() メソッドを使ってコンソールに結果を出力しています。

try-catch によるエラー処理

ユーザーが浮動小数点数以外の値を入力した場合、Scanner クラスは java.util.InputMismatchException をスローする可能性があります。この例外を try-catch ブロックを使って処理しましょう。

FloatEquals.javamain メソッドに追加したコードを次のコードに置き換えます。

import java.util.Scanner;

public class FloatEquals {
    public static void main(String[] args) {
        // Handling errors with try-catch
        try {
            Scanner sc = new Scanner(System.in);
            System.out.print("Enter value 1: ");
            Float num1 = sc.nextFloat();
            System.out.print("Enter value 2: ");
            Float num2 = sc.nextFloat();
            boolean equal = num1.equals(num2);
            System.out.println("Are the values equal? " + equal);
        } catch (java.util.InputMismatchException e) {
            System.out.println("Invalid input. Please enter a float value.");
        }
    }
}

解説:ここでは、ユーザーから入力を受け取るコードを囲む try-catch ブロックを追加しました。ユーザーが浮動小数点数でない値を入力した場合、InputMismatchException がスローされ、catch ブロックによって処理されます。コンソールにエラーメッセージが表示されます。

プログラムのコンパイルと実行

最後に、出力を確認するためにプログラムをコンパイルして実行する必要があります。ターミナルで ~/project ディレクトリに移動し、次のコマンドを実行します。

javac FloatEquals.java && java FloatEquals

出力:

Enter value 1: 12.5
Enter value 2: 12.5
Are the values equal? true

無効な入力のテスト

ステップ 4 で実装した try-catch ブロックをテストしましょう。num1 の値を入力するよう促されたときに、浮動小数点数以外の値を入力してください。

出力:

Enter value 1: abc
Invalid input. Please enter a float value.

まとめ

この実験では、Java の Float クラスの equals() メソッドについて学びました。その実装方法、構文、および使用例を学びました。また、try-catch ブロックを使ってエラーを処理する方法を学び、プログラムを誤った入力に対してテストしました。