Метод equals() класса Float в Java

Beginner

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В Java класс Float имеет метод equals(), который помогает сравнивать равенство двух значений типа float. В этом практическом занятии мы узнаем об реализации, синтаксисе и различных примерах использования этого метода.


Skills Graph

Настройка файла класса

Сначала мы создадим Java-файл в директории ~/project. Назовем его FloatEquals.java.

cd ~/project
touch FloatEquals.java

Реализация метода equals()

Мы напишем метод equals() внутри метода main нашего файла FloatEquals.java. Затем мы создадим два объекта типа 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);
    }
}

Пояснение: Здесь мы создали два объекта Float, num1 и num2, и присвоили им оба значение 10.5f. Затем мы сравнили их с использованием метода equals() и сохранили результат в переменную boolean с именем equal. Наконец, мы вывели результат на консоль с использованием метода println(), объединив результат с строкой.

Предоставление различных значений для метода equals()

Теперь, когда мы реализовали метод для объектов Float, давайте дадим пользователю возможность ввести два различных значения типа Float и сравнить их с использованием метода equals().

Замените код, который вы добавили в метод main файла FloatEquals.java, следующим кодом:

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);
    }
}

Пояснение: Здесь мы получаем два значения типа Float в качестве ввода от пользователя, используя класс Scanner и его метод nextFloat(). Затем мы сравниваем их с использованием метода equals() и сохраняем результат в переменную boolean с именем equal. Наконец, мы выводим результат на консоль с использованием метода println(), объединив строку с результатом.

Обработка ошибок с использованием try-catch

Класс Scanner может вызывать исключение java.util.InputMismatchException, если пользователь вводит нечисловое значение. Давайте обработаем это исключение с использованием блока try-catch.

Замените код, который вы добавили в метод main файла FloatEquals.java, следующим кодом:

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

Тестирование некорректного ввода

Протестируем блок try-catch, который мы реализовали на шаге 4. Введите нечисловое значение, когда вас попросят ввести значение num1.

Вывод:

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

Резюме

В этом практическом занятии мы изучили метод equals() класса Float в Java. Мы узнали, как реализовать его, синтаксис и различные примеры его использования. Мы также узнали, как обрабатывать ошибки с использованием блока try-catch, и протестировали нашу программу на некорректный ввод.