Ask*_*kar 1 java validation exception-handling numberformatexception
我想以更具体的方式处理 NumberFormatException。当输入以下内容时,尝试分配除整数以外的任何内容时,会发生此异常:
根据输入的内容,我想显示正确的消息,例如
您已输入字符串,请输入一个整数
或者
值不能为空,请输入整数值
下面的代码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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
首先从用户那里获取输入,然后尝试将其转换为整数。
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");
}
}
}
Run Code Online (Sandbox Code Playgroud)