簡體   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