public static ArrayList<Student> readStudentRecords(String fileName) throws FileNotFoundException {
Scanner input = new Scanner(new FileInputStream(fileName));
ArrayList<Student> students = new ArrayList<Student>();
input.useDelimiter(",");
String firstName, lastName, id, email, hashPW;
int maxCredits = 0;
while (input.hasNextLine()) {
try {
input.nextLine();
firstName = input.next();
lastName = input.next();
id = input.next();
email = input.next();
hashPW = input.next();
maxCredits = input.nextInt();
Student student = new Student(firstName, lastName, id, email, hashPW, maxCredits);
students.add(student);
} catch (IllegalArgumentException e) {
System.out.println("Illegal Argument Exception");
input.next();
} catch (NoSuchElementException e) {
System.out.println("No Such Element Exception");
input.next();
}
}
input.close();
return students;
}
我創建一個程序,讀取一個列出學生姓,名,ID,電子郵件,哈希密碼,和最大學分的文本文件。文本文件的每一行都有一整套由逗號分隔的元素。我希望程序讀取該文件,創建從每個線(我已經創建並測試了學生類,包括所有的getter和setter)學生對象,並安排在一個數組列表中的學生對象。該計劃得到循環在NoSuchElementException異常,僅讀取文本文件的第一行,並忽略接下來的9,我不知道確切格式我try-catch語句應該是,以確保它不會無限循環。嘗試捕獲而陷入上沒有這樣的元素異常循環
看起來你正在處理一個CSV文件,所以你應該使用CSV閱讀器庫 –