Ich benutze 2 Scanner, um eine Datei zu lesen. Man schnappt sich die erste und die zweite Linie (da ich sie für etwas anderes brauchen) mit einemWarum erhalte ich diesen Scannerfehler?
int a = fileScanner.nextInt();
fileScanner.nextLine();
int b = fileScanner.nextInt();
fileScanner.nextLine();
ich dann greifen, den Rest der Datei, Zeile für Zeile, und eine Linie zu einer anderen Klasse senden.
while(fileScanner.hasNextLine()){
line = fileScanner.nextLine();
NameRecord current = new NameRecord (line, startYear, decades);
names.add(current);
}
(. Ignoriere den Rest des Codes) Ich nehme dann das erste Wort der Zeile, dann ist der Rest-Nummern I in einem Array gespeichert werden müssen, so dass ich diese:
Scanner lineSc = new Scanner(line);
dataName = lineSc.next();
for (int i = 0; i < decades; i++) {
yearData[i] = Integer.parseInt(lineSc.next());
}
lineSc.close();
Aber am Ende habe ich diesen Fehler:
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)
Was mache ich falsch?
Es scheint, dass Sie als nächstes für Ihren Zeilenscanner anrufen, auch wenn er keine Elemente mehr hat. Du solltest immer mit hasNext ==> for (int i = 0; i
alfcope