📜  Java中的 NumberFormatException 示例(1)

📅  最后修改于: 2023-12-03 15:31:54.562000             🧑  作者: Mango

Java 中的 NumberFormatException 示例

NumberFormatException 是 Java 中一个非常常见的异常类,它通常会在字符串转换成数字的过程中抛出。

首先,让我们看一下代码示例:

String str = "abc";
int num = Integer.parseInt(str);

代码中,我们将一个非数字的字符串 abc 转换成了一个整数类型的变量 num。运行代码后,程序会抛出 NumberFormatException 异常,因为 abc 无法转换成整数。

为了防止 NumberFormatException 异常的出现,我们应该使用 try-catch 结构来捕捉异常,如下所示:

String str = "123";
try {
    int num = Integer.parseInt(str);
} catch (NumberFormatException e) {
    System.out.println("无法将字符串转换为数字");
}

在这个示例中,我们将字符串 "123" 转换成了整数类型的变量 num,并用 try-catch 结构来捕捉 NumberFormatException 异常。

除了将字符串转换成整数类型的方法 parseInt() 外,还有其他一些字符串转换数字的方法也可能抛出 NumberFormatException 异常。

例如,将字符串转换成浮点数类型的方法 parseFloat()parseDouble(),以及将字符串转换成长整型的方法 parseLong()

String str1 = "123.45";
String str2 = "123abc";
String str3 = "12345678901234567890";
try {
    float f = Float.parseFloat(str1);
    long l = Long.parseLong(str3);
    double d = Double.parseDouble(str2);
} catch (NumberFormatException e) {
    System.out.println("无法将字符串转换为数字");
}

上述示例中,将字符串 "123.45" 转换成了浮点数类型的变量 f,将字符串 "12345678901234567890" 转换成了长整型的变量 l,将字符串 "123abc" 转换成了双精度浮点数类型的变量 d,并使用 try-catch 结构捕捉了 NumberFormatException 异常。

总之,NumberFormatException 异常是为了防止字符串转换成数字时出错而出现的。在将字符串转换成数字的过程中,我们应该注意异常处理,以避免程序崩溃。