为了账号安全,请及时绑定邮箱和手机立即绑定

无法为本学期的最后一个实验室正确读取文件,并且在读取实际文件时一直遇到问题

无法为本学期的最后一个实验室正确读取文件,并且在读取实际文件时一直遇到问题

阿波罗的战车 2022-12-15 14:40:40
所以我们有一个实验室要做,它涉及读取文件和所有有趣的东西。这是 txt 文件的样子:Name0221.2Name1222.71Name2193.51Name3183.91Name4201.6Name5191.03Name6183.78Name7193.19Name8182.37Name9211.01我发布了应该尝试读取此信息的代码。谢谢你的时间!我试过改变一些东西并用谷歌搜索异常但没有运气    public void readFile()    {        //ran intill exception caught        try        {            //finds the student.txt file to read using scanners            Scanner s = new Scanner("Students.txt");            while(s.hasNextLine())            {                //sets a string name to the first string (First text in students is name)                String name = s.next();                //looks for a line with a int value and then sets it to age                int age = s.nextInt();                 //scans the next line for a double and sets it to gpa                double gpa = s.nextDouble();                //creates a new student object and passes what the file read into parameters                Student studentOne = new Student(name , age, gpa);                //adds new student to array list                students.add(studentOne);            }            s.close();        }        // if an exception is caught it will print        catch(Exception e)        {            System.out.println(e);        }    }我相信它应该读取信息并将其存储在受尊重的类别中,因为我们知道它是根据文本文件按此顺序进行的,但是当我运行该方法时,我得到了 java.util.NoSuchElementException
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

您收到NoSuchElementException是因为在对象上调用nextInt()和nextDouble()方法Scanner不会读取换行符(点击返回时创建的字符) - 请参阅此答案。


要解决此问题,您可以执行以下操作:


public void readFile() throws IOException {

    try (Scanner s = new Scanner(new FileReader(new ClassPathResource("Students.txt").getFile()))) {

        while (s.hasNextLine()) {

            String name = s.nextLine();

            int age = Integer.parseInt(s.nextLine());

            double gpa = Double.parseDouble(s.nextLine());

            Student studentOne = new Student(name, age, gpa);

            students.add(studentOne);

        }

    }

}

注意 - 上面的代码假定该Students.txt文件在您的类路径中。


查看完整回答
反对 回复 2022-12-15
  • 1 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信