我正在编写一个简单的程序来读取 System.in 并将信息放入 LinkedLists 数组中。我有一个非常简单的问题,但几个小时后我似乎找不到问题。希望它很好而且很明显。抛出 NoSuchElementException 的代码段是这样的:
while(scanner.hasNextLine())
{
int index = scanner.nextInt();
master[index].addObservation(scanner.next());
}
错误是从调用 nextInt() 方法的行中抛出的。当我按 Cntrl+Z 结束输入时出现问题。出于某种原因,即使没有另一行输入,我的代码仍在进入 while 循环。输入格式如下:
1 doug
2 edwin
5 casey
4 fred
Cntrl+Z
(电脑号码后跟用户名)
pc 号用于数组索引,用户名将进入链表。我尝试将 EOF 字符放在最后一行的末尾,并作为最后一行的第一个字符,没有任何变化。任何帮助是极大的赞赏。谢谢!
全班
import java.util.*;
public class TermReport
{
private static LineUsageData[] master = new LineUsageData[501];
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args)
{
//skip index 0 for index to PC clarity
for(int i=1; i<501; i++)
{
master[i] = new LineUsageData();
}
while(scanner.hasNextLine())
{
int index = scanner.nextInt();
master[index].addObservation(scanner.next());
}
}
}