首先,我知道这个问题涉及糟糕的编码练习,但我的老师已经要求了。
好的,所以我使用了扫描仪类的.next(),我的老师已经指定我必须捕获并处理NoSuchElementException。我的代码无法编译,我收到此错误
School.java:98:错误:找不到符号 catch(NoSuchElementException e){ ^ 符号:类NoSuchElementException 地点:班级学校
我是否必须导入一些东西才能捕获NoSuchElementException?
这是有问题的代码。
while (file.hasNext()) {
record = file.nextLine();
Scanner info = new Scanner(record).useDelimiter(";");
type = Character.toUpperCase(info.next().trim().charAt(0));
switch(type) {
case 'U':
try {
idNumber = info.next().trim();
name = info.next().trim();
credits = Integer.parseInt(info.next().trim());
residency = Integer.parseInt(info.next().trim());
Undergraduate u = new Undergraduate(idNumber, name, credits,
residency);
addStudent(u);
}
catch (NegativeValueException e) {
addExcludedRecord(e + " occurred while processing:\n" + record);
}
catch (NumberFormatException e) {
addExcludedRecord(e + " occurred while processing:\n" + record);
}
catch (NoSuchElementException e) {
addExcludedRecord(e + " occurred while processing:\n" + record);
}
break;
这只是交换机的第一种情况,因为我不想包含所有内容。以下是扫描程序正在读取的文件行的示例。
Ugrad; 1234567890;琼斯,山姆; 16; 1
我真的很感激任何帮助!