Java Float Equals 方法

Beginner

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在 Java 中,Float 类有一个 equals() 方法,它用于比较两个 float 值的相等性。在本实验中,我们将学习该方法的实现、语法以及各种示例。

设置类文件

我们首先在 ~/project 目录下创建一个 Java 文件。将其命名为 FloatEquals.java

cd ~/project
touch FloatEquals.java

实现 equals() 方法

我们将在 FloatEquals.javamain 方法中编写 equals() 方法。然后,创建两个 Float 对象,并使用 equals() 方法比较它们。最后,将结果打印到控制台。

将以下代码添加到 FloatEquals.java 文件中:

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

解释:在这里,我们创建了两个 Float 对象 num1num2,并将它们都设置为 10.5f。然后,使用 equals() 方法比较它们,并将结果存储在一个名为 equalboolean 变量中。最后,通过将结果与字符串连接,使用 println() 方法将结果打印到控制台。

equals() 方法提供不同的值

现在我们已经为 Float 对象实现了该方法,接下来让用户提供两个不同的 Float 值,并使用 equals() 方法进行比较。

FloatEquals.java 文件中 main 方法的代码替换为以下内容:

import java.util.Scanner;

public class FloatEquals {
    public static void main(String[] args) {
        // 为 equals() 方法提供不同的值
        Scanner sc = new Scanner(System.in);
        System.out.print("输入值 1: ");
        Float num1 = sc.nextFloat();
        System.out.print("输入值 2: ");
        Float num2 = sc.nextFloat();
        boolean equal = num1.equals(num2);
        System.out.println("这两个值相等吗? " + equal);
    }
}

解释:在这里,我们使用 Scanner 类及其 nextFloat() 方法从用户那里获取两个 Float 值作为输入。然后,使用 equals() 方法比较它们,并将结果存储在一个名为 equalboolean 变量中。最后,通过将字符串与结果连接,使用 println() 方法将结果打印到控制台。

使用 try-catch 处理错误

如果用户输入的值不是浮点数,Scanner 类可能会抛出 java.util.InputMismatchException 异常。让我们使用 try-catch 块来处理此异常。

FloatEquals.java 文件中 main 方法的代码替换为以下内容:

import java.util.Scanner;

public class FloatEquals {
    public static void main(String[] args) {
        // 使用 try-catch 处理错误
        try {
            Scanner sc = new Scanner(System.in);
            System.out.print("输入值 1: ");
            Float num1 = sc.nextFloat();
            System.out.print("输入值 2: ");
            Float num2 = sc.nextFloat();
            boolean equal = num1.equals(num2);
            System.out.println("这两个值相等吗? " + equal);
        } catch (java.util.InputMismatchException e) {
            System.out.println("输入无效。请输入一个浮点数值。");
        }
    }
}

解释:在这里,我们添加了一个 try-catch 块,包裹了从用户那里获取输入的代码。如果用户输入的值不是浮点数,则会抛出 InputMismatchException 异常,并由 catch 块处理。它会在控制台打印一条错误消息。

编译并运行程序

最后,我们需要编译并运行程序以查看输出。在终端中,导航到 ~/project 目录并执行以下命令:

javac FloatEquals.java && java FloatEquals

输出:

输入值 1: 12.5
输入值 2: 12.5
这两个值相等吗? true

测试无效输入

让我们测试在步骤 4 中实现的 try-catch 块。当提示输入 num1 值时,输入一个非浮点数值。

输出:

输入值 1: abc
输入无效。请输入一个浮点数值。

总结

在本实验中,我们学习了 Java 中 Float 类的 equals() 方法。我们了解了如何实现它、其语法以及使用它的不同示例。我们还学习了如何使用 try-catch 块处理错误,并测试了程序对错误输入的处理能力。

您可能感兴趣的其他 教程