没有使用Integer.ParseInt()进行转换

时间:2015-06-06 16:44:21

标签: java data-conversion parseint

我有一个问题,当我在这个上下文中使用Integer.parseInt时,它并没有转换我的,它甚至会让我脱离循环,所以它不想显示例如System.out。打印(1)循环后像一切都崩溃但我没有错误。请帮忙。这是导致它的代码的一部分。变量"输入"是一个Arrayl

for (int i=0;i<input.size();i++) 
{
    if(point>Integer.parseInt(input.get(i).split(":")[1]))
    {    
        input.set(i,highScore + System.getProperty("line.separator"));
        break;
    }               
} 

2 个答案:

答案 0 :(得分:0)

你确认输入.get(i).split(“:”)[1]给你一个只包含数字的字符串吗?

Integer.parseInt(String s)抛出NumberFormatException,因此您应该在try / catch块中执行该代码,如下所示:

for (int i=0;i<input.size();i++) {
  try {
    int parsedValue = Integer.parseInt(input.get(i).split(":")[1]);
    // do whatever you want to do with parsedValue
  }
  catch(NumberFormatException e) {
    System.out.print("I caught an error!, what i was trying to parse wasn't a number");
    // or any other action you consideer that needs to be done when parseInt fails
  }
}

答案 1 :(得分:0)

只有一种解释(如果您确定没有抛出异常):input为空。 :)