Введение
В Java класс Float имеет метод equals(), который помогает сравнивать равенство двух значений типа float. В этом практическом занятии мы узнаем об реализации, синтаксисе и различных примерах использования этого метода.
В Java класс Float имеет метод equals(), который помогает сравнивать равенство двух значений типа float. В этом практическом занятии мы узнаем об реализации, синтаксисе и различных примерах использования этого метода.
Сначала мы создадим Java-файл в директории ~/project. Назовем его FloatEquals.java.
cd ~/project
touch FloatEquals.java
Мы напишем метод 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(), объединив результат с строкой.
Теперь, когда мы реализовали метод для объектов 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(), объединив строку с результатом.
Класс 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, и протестировали нашу программу на некорректный ввод.