Java 不使用Integer.ParseInt()进行转换

Java 不使用Integer.ParseInt()进行转换,java,data-conversion,parseint,Java,Data Conversion,Parseint,我有一个问题,当我在这个上下文中使用Integer.parseInt时,它不会转换我的,甚至会将我踢出循环,所以它不想在循环后显示例如System.out.print(1),就像所有东西都崩溃了一样,但我没有错误。请帮忙。这是导致它的代码的一部分。变量“input”是一个数组 for (int i=0;i<input.size();i++) { if(point>Integer.parseInt(input.get(i).split(":")[1])) {

我有一个问题,当我在这个上下文中使用Integer.parseInt时,它不会转换我的,甚至会将我踢出循环,所以它不想在循环后显示例如System.out.print(1),就像所有东西都崩溃了一样,但我没有错误。请帮忙。这是导致它的代码的一部分。变量“input”是一个数组

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;
    }               
} 
for(int i=0;iInteger.parseInt(input.get(i).split(“:”[1]))
{    
输入.set(i,highScore+System.getProperty(“line.separator”);
打破
}               
} 

您是否验证了input.get(i).split(“:”)[1]精确地给出了一个只包含数字的字符串

parseInt(字符串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
  }
}

对于(int i=0;i只有一种解释(如果您确定没有引发异常):
输入是空的。

如果if子句中有一个中断句,当它的计算结果为true时,它当然会毫无错误地跳出循环。还有,Integer.parseInt()可以抛出NumberFormatException。是的,但是如果我对它全部进行注释,比如说使用System.out.print(Integer.parseInt(input.get(i.split)(“:”[1]),它不会向我显示任何内容,所以我认为这是一个问题。请将Integer.parseInt放在try-catch块中,并搜索NumberFormatException,顺便说一下,当你说你什么都能做到的时候,到底是什么意思?你评论这个循环?只有循环的内部部分?当你说,你使用System.out.pring(Integer.parseInt(input.get(i)…等,你在哪里做?在循环内?在循环外?更具体一点,这意味着在循环中我只放System.out.print(Integer.parseInt(input.get(i).split(“:”[1]);它没有显示任何东西不会输入。get(i)抛出NPE?不,如果
输入为空,则不执行该行。该行不是NPE,而是AIOOBE。