我想不通,爲什麼我得到的錯誤:for循環和if語句錯誤發生的歷史
java.util.NoSuchElementException null(in java.util.Scanner)
:
public void processTransactions(Scanner transFile){
while (transFile.hasNext()){
for(i = 0; i < ids.length; i++){
finalInventory[i] = startingInventory[i];
if(ids[i] == transFile.next()){
finalInventory[i] += transFile.nextInt();
}
}
}
}
這是我construtor:
public SoftDrinkInventory(Scanner inventoryFile) {
initializeString(names);
initializeString(ids);
initializeInt(startingInventory);
initializeInt(finalInventory);
initializeInt(transactionCounts);
while (inventoryFile.hasNext()){
names[i] = inventoryFile.next();
ids[i] = inventoryFile.next();
startingInventory[i] = inventoryFile.nextInt();
i++;
}
}
所有變量都已經在類中聲明過了。
如果您的掃描儀在'for'循環的一次迭代期間用完輸入會發生什麼? –
你正在寫這個transFile.nextInt();兩次........ if(ids [i] == transFile.next()){finalInventory [i] + = transFile.nextInt();}當控制器是控制器時,它將控制器移動到最後的+1元素最後元素 – Sambhav
哦..錯過了..謝謝@DavidWallace – stinepike