获取此类元素异常在文件

时间:2017-12-11 03:18:40

标签: java text-files nosuchelementexception

我正在审查为我的决赛做准备的练习作业,而我教授给我们做的一件事是创建并使用学生班。下面我提供了我的代码以及我正在阅读的文本文件中的内容。    

    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。这就是为什么我很困惑我得到一个错误。

1 个答案:

答案 0 :(得分:1)

将while循环的条件更改为fileIn.hasNextInt()。这样,如果你的文件末尾有一个新行,那么当下一行没有以整数开头时,你的循环就会停止。

此外,您似乎没有在任何地方使用i变量的值。你可能想要摆脱它,未使用的变量永远不是一个好主意。