我使用2個掃描儀來讀取文件。一個抓住了我爲什麼會收到此掃描儀錯誤?
int a = fileScanner.nextInt();
fileScanner.nextLine();
int b = fileScanner.nextInt();
fileScanner.nextLine();
第一和第二線(因爲我需要他們對別的東西),那麼我搶文件,一行行的其餘部分,併發送一條線,不同的類。
while(fileScanner.hasNextLine()){
line = fileScanner.nextLine();
NameRecord current = new NameRecord (line, startYear, decades);
names.add(current);
}
(忽略此代碼的其餘部分) 然後我走線的第一個字,則其餘的是數字我需要在一個數組來存儲,所以我使用此:
Scanner lineSc = new Scanner(line);
dataName = lineSc.next();
for (int i = 0; i < decades; i++) {
yearData[i] = Integer.parseInt(lineSc.next());
}
lineSc.close();
但最後我得到這個錯誤:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at NameRecord.<init>(NameRecord.java:36)
at Names.<init>(Names.java:34)
at NameSurfer.simpleTest(NameSurfer.java:176)
at NameSurfer.main(NameSurfer.java:202)
我在做什麼錯?
看來你正在爲你的lineSc掃描器調用next,即使它沒有元素了。你應該總是用hasNext檢查==> for(int i = 0; i
alfcope