继续获取输入不匹配异常



我有一个Java入门课程的项目,我不断收到InputMismatchException。两个评分助理找不到问题,所以希望这里有人可以!该程序使用文档作为输入,并且由于某种原因读取错误。附加的是一个包含输入文件和所有类的 zip 文件(尽管您可能只需要主类(。还附上了课程给出的说明。谢谢!

似乎出错的代码:

private OnlineStudent readOnlineStudent(Scanner pIn) {
String id = pIn.next();
String lname = pIn.next();
String fname = pIn.next();
OnlineStudent student = new OnlineStudent(id, fname, lname);
String fee  =  pIn.next();
- Line 160 > int credits = pIn.nextInt();
if (fee.equals("T")) student.setTechFee(true);
else student.setTechFee(false);
student.setCredits(credits);
return student;
}

以下是输入文档的文本:

C 8230123345450 Flintstone Fred R 0 12
C 3873472785863 Simpson Lisa N 750 18 
C 4834324308675 Jetson George R 0 20 
O 1384349045225 Szyslak Moe - 6
O 5627238253456 Flanders Ned T 3

堆栈跟踪:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Main.readOnlineStudent(Main.java:160)
at Main.readFile(Main.java:84)
at Main.run(Main.java:189)
at Main.main(Main.java:31)

链接到带有代码和文档的谷歌云端硬盘文件夹:

https://drive.google.com/open?id=1rjiXoB-rBd1FQdQQqbGMGL_a1kWd1v_Z

在主类第 80 行中,你应该使用 equals 方法,而不是 "==" 。它使扫描仪读取错误的类型;

查看输入与读取值的匹配情况。

String id = pIn.next();  // C
String lname = pIn.next(); //8230123345450
String fname = pIn.next(); //Flintstone
OnlineStudent student = new OnlineStudent(id, fname, lname);
String fee  =  pIn.next(); //Fred
int credits = pIn.nextInt(); // R --->this is not an integer

对于 R 值,必须有另一个 next((。

相关内容

  • 没有找到相关文章