Java Float isNaN 方法

JavaJavaBeginner
立即练习

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

介绍

在本实验中,你将学习 Java 的 isNaN(float v) 方法,该方法用于检查传入的浮点值是否为非数字(Not-a-Number, NaN)。

创建一个 Java 文件

~/project 目录下创建一个名为 FloatIsNaN.java 的 Java 文件:

cd ~/project
touch FloatIsNaN.java

定义 main 方法

将以下代码添加到 main 方法中:

public class FloatIsNaN {
    public static void main(String[] args) {

    }
}

声明并定义 float 变量

声明并定义名为 f1f2f3f4f5 的 float 变量:

float f1 = 67.78f;
float f2 = 0f;
float f3 = -f1/0.0f;
float f4 = f2/0.0f;
float f5 = 0.0f/0.0f;

测试 Float.isNaN() 方法

使用 Float.isNaN() 方法测试浮点值是否为 NaN 值:

System.out.println("The value is : " +Float.isNaN(f1)); //returns false for finite value
System.out.println("The value is : " +Float.isNaN(f2)); //returns false for infinite value
System.out.println("The value is : " +Float.isNaN(f3)); //returns false for infinite value
System.out.println("The value is : " +Float.isNaN(f4)); //returns true for NaN value
System.out.println("The value is : " +Float.isNaN(f5)); //returns true for NaN value

编译并运行程序

保存文件更改后,使用 javac 命令编译 Java 程序:

javac FloatIsNaN.java

然后,使用 java 命令运行程序:

java FloatIsNaN

使用用户输入测试 Float.isNaN() 方法

在步骤 3 之后添加以下代码,以使用用户输入测试 Float.isNaN() 方法:

try {
    System.out.println("Enter the value");
    Scanner sc = new Scanner(System.in);
    float i = sc.nextFloat();
    boolean b = Float.isNaN(i);
    if(b == true) {
        System.out.println("Value is NaN");
    } else {
        System.out.println("Value is non NaN");
    }
} catch(Exception e) {
    System.out.println("Invalid Input");
}

编译并运行程序

保存文件更改后,使用 javac 命令编译 Java 程序:

javac FloatIsNaN.java

然后,使用 java 命令运行程序:

java FloatIsNaN

实时测试 Float.isNaN() 方法

你也可以通过以下示例实时测试 Float.isNaN() 方法:

import java.lang.Float;
import java.util.Scanner;

public class FloatIsNaN {
    public static void main(String[] args) {
        try {
            System.out.println("Enter the value");
            Scanner sc = new Scanner(System.in);
            float i = sc.nextFloat();
            boolean b = Float.isNaN(i);
            if(b == true) {
                System.out.println("Value is NaN");
            } else {
                System.out.println("Value is non NaN");
            }
        } catch(Exception e) {
            System.out.println("Invalid Input");
        }
    }
}

编译并运行程序

保存文件更改后,使用 javac 命令编译 Java 程序:

javac FloatIsNaN.java

然后,使用 java 命令运行程序:

java FloatIsNaN

总结

在本实验中,你学到了以下内容:

  • Java 的 isNaN(float v) 方法用于检查给定的浮点值是否为 NaN 值。
  • isNaN() 方法对于 NaN 值返回布尔值 true,对于非 NaN 值返回 false
  • 你可以通过声明和定义浮点变量或通过用户输入来测试 isNaN() 方法。
  • 你也可以使用实验中提供的示例实时测试 isNaN() 方法。

干得漂亮!