gpt4 book ai didi

java - 如何以更具体的方式处理 NumberFormatException?

转载 作者:行者123 更新时间:2023-11-29 07:10:34 25 4
gpt4 key购买 nike

我想以更具体的方式处理 NumberFormatException。当输入以下内容时,当它尝试分配除整数以外的任何内容时,就会发生此异常:

  1. 字符串
  2. 性格
  3. 空输入
  4. 双数

根据输入的内容,我想显示一条正确的消息,例如

you've entered string, please enter an integer

value can't be null, please enter an integer value

下面的代码以一般方式捕获 NumberFormatException

我想知道有没有办法包含更多的 catch 子句。

    import java.util.Scanner;

public class TestException {

static int input;
static Scanner scan = new Scanner(System.in);

public static void main(String[] args) {
System.out.println("Enter an integer number: ");

try {
input = Integer.parseInt(scan.next());
System.out.println("You've entered number: " + input);
} catch (NumberFormatException e) {
System.out.println("You've entered non-integer number");
System.out.println("This caused " + e);
}
}
}

最佳答案

首先获取用户的输入,然后尝试将其转换为整数。

    static int input;
static Scanner scan = new Scanner(System.in);

public static void main(String[] args) {
System.out.println("Enter an integer number: ");

String inputString = scan.next();

try {
input = Integer.parseInt();
System.out.println("You've entered number: " + input);
} catch (NumberFormatException e) {
if(inputString.equals("") || inputString == null) {
System.out.println("empty input");
} else if(inputString.length == 1) {
System.out.println("char input");
} else {
System.out.println("string input");
}
}
}

关于java - 如何以更具体的方式处理 NumberFormatException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14252427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com