我不斷收到看起來像這樣的錯誤,我想不通爲什麼:有人能告訴我這個java代碼有什麼問題嗎?
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at Assignment20.main(Assignment20.java:17)
這裏是我的代碼
import java.util.Scanner;
import java.io.File;
public class Assignment20{
public static void main(String[] args) throws Exception{
File myFile = new File("scores.txt");
Scanner input = new Scanner(myFile);
while (input.hasNext()) {
String firstName = input.next();
String mi = input.next();
String lastName = input.next();
int score = input.nextInt();
System.out.println(
firstName + " " + mi + " " + lastName + " " + score);
}
input.close();
}
}
的文本文件,我試圖讓它看上去閱讀這樣
哈利波特,72
羅恩韋斯萊,68
赫敏格蘭傑,98
艾伯斯,90
尼維爾,75
盧娜,86
馬爾夫,64
張秋,88
金尼Weasley,78
To米里德爾,92
我需要做些什麼來解決這個問題?
編輯:我改變了文本文件,但它仍然不工作,我得到相同的錯誤。有人可以向我展示固定代碼嗎?我不明白我必須做什麼。
提示:嘗試打印出firstName,mi和lastName(在讀取int之前),看看你得到了什麼 – radai
想一想,看看你的文本文件的結構。它與您想要在代碼中檢索的數據相匹配嗎?! – yohm