当前位置: 首页 > 面试题库 >

如何防止java.lang.NumberFormatException:对于输入字符串:“ N / A”?

滕无尘
2023-03-14
问题内容

在运行我的代码时,我得到了NumberFormatException

java.lang.NumberFormatException: For input string: "N/A"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.valueOf(Unknown Source)
    at java.util.TreeMap.compare(Unknown Source)
    at java.util.TreeMap.put(Unknown Source)
    at java.util.TreeSet.add(Unknown Source)`

如何防止此异常发生?


问题答案:

"N/A"不是整数。NumberFormatException如果尝试将其解析为整数,则必须抛出该异常。

解析前请检查或Exception正确处理。

异常处理

try{
    int i = Integer.parseInt(input);
} catch(NumberFormatException ex){ // handle your exception
    ...
}

或- 整数模式匹配

String input=...;
String pattern ="-?\\d+";
if(input.matches("-?\\d+")){ // any positive or negetive integer or not!
 ...
}


 类似资料: