はじめに
Java では、Float
クラスには equals()
メソッドがあり、これは 2 つの float
値の等価性を比較するのに役立ちます。この実験では、このメソッドの実装、構文、およびさまざまな例について学びます。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Java では、Float
クラスには equals()
メソッドがあり、これは 2 つの float
値の等価性を比較するのに役立ちます。この実験では、このメソッドの実装、構文、およびさまざまな例について学びます。
まず、~/project
ディレクトリに Java ファイルを作成します。それを FloatEquals.java
と名付けましょう。
cd ~/project
touch FloatEquals.java
equals()
メソッドの実装FloatEquals.java
の main
メソッド内に 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
オブジェクト num1
と num2
を作成し、それぞれを 10.5f
に設定しました。その後、equals()
メソッドを使用して比較し、結果を equal
という boolean
型の変数に格納しました。最後に、結果を文字列と連結して println()
メソッドを使用してコンソールに出力しました。
equals()
メソッドに異なる値を渡すこれで Float
オブジェクト用のメソッドを実装したので、ユーザーに 2 つの異なる Float
値を入力してもらい、equals()
メソッドを使って比較するようにしましょう。
FloatEquals.java
の main
メソッドに追加したコードを次のコードに置き換えます。
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()
メソッドを使ってコンソールに結果を出力しています。
ユーザーが浮動小数点数以外の値を入力した場合、Scanner
クラスは java.util.InputMismatchException
をスローする可能性があります。この例外を try-catch
ブロックを使って処理しましょう。
FloatEquals.java
の main
メソッドに追加したコードを次のコードに置き換えます。
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
ブロックを使ってエラーを処理する方法を学び、プログラムを誤った入力に対してテストしました。