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

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

在运行我的代码时,我得到了一个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)`

如何防止此异常发生?


郎朗坤
浏览 5156回答 3
3回答

宝慕林4294392

"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!  ...}

忽然笑

显然你不能解析N/A到int价值。你可以做下面这样的事情来处理这个问题。NumberFormatException .   String str="N/A";    try {         int val=Integer.parseInt(str);    }catch (NumberFormatException e){        System.out.println("not a number");     }

皈依舞

做这样的异常处理程序,private int ConvertIntoNumeric(String xVal){  try   {       return Integer.parseInt(xVal);   }  catch(Exception ex)    {      return 0;    }}....int xTest = ConvertIntoNumeric("N/A");  //Will return 0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java