我有一个问题,当我在这个上下文中使用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;
}
}
答案 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
为空。 :)