繁体   English   中英

java.util.NoSuchElementException-线程“ main”错误中的异常

[英]java.util.NoSuchElementException - Exception in thread “main” error

我不太确定这个错误,因为我无法弄清楚发生了什么。 通过调试器,我可以看到文件已成功读取,但是在最后一个索引上,我得到了一个错误。 有人知道为什么吗?

try {
    txtin = new Scanner(gameFile);
    //String line;
    while(txtin.hasNext()) {
        for(int i = 0; i < 15; i++) {
            Grid[i] = txtin.next();
        }

    }
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
finally {
    if (txtin != null)
        txtin.close();
}

我得到的错误是:

Exception in thread "main" java.util.NoSuchElementException

我该如何解决?

每次调用Iterator#next() ,它将向前移动基础光标。 您正在for循环中调用txtin.next() 15次。 可能存在少于15个令牌的情况,并且光标移动到没有此类元素的位置,因此NoSuchElementException

更换

while(txtin.hasNext()) {
  for(int i = 0; i < 15; i++) {
    Grid[i] = txtin.next();
  }
}

int i=0;
while(txtin.hasNext()) {
  Grid[i++] = txtin.next();
}

由于Gagan Chouhan描述的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM