这行代码的例外情况

时间:2012-03-23 18:46:13

标签: java

if(str.contains("final"))
{
    id = Integer.parseInt(str.substring(18, str.length() - 6));    
}
System.out.println(id);

这行代码id = Integer.parseInt(str.substring(18, str.length() - 6)); 我把输出作为“最后一年”,但它抛出了非法的数字格式异常 对于输入字符串:“最后一年”

at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Product.main(Product.java:47)

如何解决这个问题?

我有一个文本文件,其中包含字符串和int,如

最后一年  93  93  90  91.
 在给出的输入中,我需要找到“最后一年”字符串并显示其下方数字的计数而不重复。我该怎么做

2 个答案:

答案 0 :(得分:6)

这意味着它所说的。 “最后一年”不是一个数字。

答案 1 :(得分:0)

确保传递给Integer.parseInt()的是int或String。 如果它是一个字符串,请确保它是数字格式(即:“2”可以,但“2”不是)