Método equals() de Float em Java

JavaBeginner
Pratique Agora

Introdução

Em Java, a classe Float possui um método equals(), que auxilia na comparação da igualdade de dois valores float. Neste laboratório, aprenderemos sobre a implementação, sintaxe e vários exemplos do método.

Configurando o arquivo de classe

Primeiramente, criaremos um arquivo Java no diretório ~/project. Vamos nomeá-lo FloatEquals.java.

cd ~/project
touch FloatEquals.java

Implementando o método equals()

Implementaremos o método equals() dentro do método main do nosso FloatEquals.java. Em seguida, criaremos dois objetos Float e os compararemos usando o método equals(). Por fim, imprimiremos o resultado no console.

Adicione o seguinte código ao arquivo 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);
    }
}

Explicação: Aqui, criamos dois objetos Float, num1 e num2, e definimos ambos como iguais a 10.5f. Em seguida, comparamos-os usando o método equals() e armazenamos o resultado em uma variável boolean chamada equal. Por fim, imprimimos o resultado no console usando o método println(), concatenando o resultado com uma string.

Fornecendo diferentes valores ao método equals()

Agora que implementamos o método para objetos Float, vamos permitir que o usuário forneça dois valores Float diferentes para compará-los usando o método equals().

Substitua o código que você adicionou ao método main de FloatEquals.java pelo seguinte código:

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

Explicação: Aqui, estamos recebendo dois valores Float como entrada do usuário, usando a classe Scanner e seu método nextFloat(). Em seguida, estamos comparando-os usando o método equals() e armazenando o resultado em uma variável boolean chamada equal. Por fim, estamos imprimindo o resultado no console usando o método println(), concatenando uma string com o resultado.

Tratamento de erros com try-catch

A classe Scanner pode lançar uma java.util.InputMismatchException se o usuário inserir um valor que não seja um float. Vamos tratar essa exceção usando um bloco try-catch.

Substitua o código que você adicionou ao método main de FloatEquals.java pelo seguinte código:

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

Explicação: Aqui, adicionamos um bloco try-catch que envolve o código que recebe a entrada do usuário. Se o usuário inserir um valor que não é um float, ele lança uma InputMismatchException, que é tratada pelo bloco catch. Ele imprime uma mensagem de erro no console.

Compilação e execução do programa

Finalmente, precisamos compilar e executar o programa para ver a saída. No terminal, navegue até o diretório ~/project e execute o seguinte comando:

javac FloatEquals.java && java FloatEquals

Saída:

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

Testando entrada inválida

Vamos testar o bloco try-catch que implementamos no Passo 4. Insira um valor que não seja um float quando solicitado a inserir o valor de num1.

Saída:

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

Resumo

Neste laboratório, aprendemos sobre o método equals() da classe Float em Java. Aprendemos como implementá-lo, a sintaxe e diferentes exemplos de uso. Também aprendemos como lidar com erros usando um bloco try-catch e testamos nosso programa para entrada incorreta.