以下代码从名为* Ergebnisse 00_01 *的文件中读取一些数据,我想要显示它(System.out.println(..);
)。因此,缺少一些空白行,也没有打印其他一些数据。最后,java.util.NoSuchElementException: No line found
出现了,但为什么呢?我做错了什么?
ArrayList<String> singleParts = new ArrayList<String>();
try {
int index = 0;
scanner = new Scanner( new File("files/Ergebnisse 00_01.txt") );
while ( scanner.hasNextLine() ) {
singleParts.add(scanner.nextLine());
System.out.println(index+": "+scanner.nextLine() );
index++;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Throwable te) {
te.printStackTrace();
}
结果应该是(这里没有索引):
----------
1.Spieltag 00/01
11.08.2000 - 20:15 Uhr (7.) Borussia Dortmund 1:0 FC Hansa Rostock (12.)
Herrlich (61.) 1:0
12.08.2000 - 15:30 Uhr (13.) 1.FC Kaiserslautern 0:1 VfL Bochum (8.)
Buckley (62.) 0:1
12.08.2000 - 15:30 Uhr (5.) Bayer 04 Leverkusen 2:0 VfL Wolfsburg (15.)
Kirsten (14.) 1:0
Kirsten (24.) 2:0
12.08.2000 - 15:30 Uhr (1.) SC Freiburg 4:0 VfB Stuttgart (18.)
Dreyer (4.) 1:0
Zeyer (28.) 2:0
Baya (48.) 3:0
Dorn (80.) 4:0
实际输出:
0: 1.Spieltag 00/01
1: Herrlich (61.) 1:0
2:
3: 12.08.2000 - 15:30 Uhr (5.) Bayer 04 Leverkusen 2:0 VfL Wolfsburg (15.)
4: Kirsten (24.) 2:0
5:
6: Baya (48.) 3:0
答案 0 :(得分:1)
这是因为您正在调用scanner.nextLine()
两次,但您只打印一次。
每次拨打scanner.nextLine()
时,都会将扫描仪推进到下一行。
试试这个:
String next = scanner.nextLine();
singleParts.add(next);
System.out.println(index+": "+next );