我正在审查为我的决赛做准备的练习作业,而我教授给我们做的一件事是创建并使用学生班。下面我提供了我的代码以及我正在阅读的文本文件中的内容。
String inputFileName = "quizScore.txt";
File inputFile = new File(inputFileName);
Scanner fileIn = new Scanner(inputFile);
ArrayList<Student> students = new ArrayList<Student>();
//Skip first two lines
fileIn.nextLine();
fileIn.nextLine();
int i =0;
while (fileIn.hasNextLine()){
//skip first number
fileIn.nextInt();
//Add student with quiz score
String newStudent = fileIn.next();
int quizScore = fileIn.nextInt();
Student student = new Student(newStudent);
students.add(student);
//Add quiz score
student.addQuiz(quizScore);
i++;
}
Skip this line
And this line
1 Michael 285
2 Christopher 236
3 Joshua 230
4 Brandon 208
5 Jacob 202
6 Daniel 196
7 Matthew 193
8 Anthony 188
9 Andrew 172
10 Joseph 171
我编写了这个类,但是当我尝试实现该类时,它在NoSuchElementException
的{{1}}循环中显示while
;我想跳过行号。我不知道为什么它会给我这个例外。如果我做一个print语句来查看是否有int。这就是为什么我很困惑我得到一个错误。
答案 0 :(得分:1)
将while循环的条件更改为fileIn.hasNextInt()
。这样,如果你的文件末尾有一个新行,那么当下一行没有以整数开头时,你的循环就会停止。
此外,您似乎没有在任何地方使用i
变量的值。你可能想要摆脱它,未使用的变量永远不是一个好主意。