Java - 创建文件读取器和输出的实例

时间:2017-04-30 18:55:54

标签: java filereader priority-queue

我有一个程序,它在文件阅读器下读取一些数据,然后创建另一个对数据建模的类的实例。无论如何该类工作(已经使用一些硬编码值进行了测试)但我现在想要输出在文件阅读器下读取的患者实例的数据,但似乎无法。

有谁能告诉我哪里出错了。

2 个答案:

答案 0 :(得分:1)

您没有将患者实例添加到newPatient集合中,这就是为什么它是空的并且您没有打印出任何内容。将元素添加到队列:

 while(scan.hasNextLine()){
            String firstname = scan.nextLine();
            String surname = scan.nextLine();
            String illness = scan.nextLine();
            int illnessSeverity = scan.nextInt();
            String newLine = scan.nextLine();

            newPatient.add(new Patient(firstname,surname,illness,illnessSeverity));

        for (Patient newPatientData : newPatient) {
            System.out.println(newPatientData);
        }  

答案 1 :(得分:1)

您需要先将数据添加到Priority Queue。我想你错过了。

PriorityQueue<Patient> newPatient = new PriorityQueue<>();
    File fileName = new File("patients.txt");

    Scanner scan = null;

    try {
        scan = new Scanner(fileName);
        while(scan.hasNextLine()){
            String firstname = scan.nextLine();
            String surname = scan.nextLine();
            String illness = scan.nextLine();
            int illnessSeverity = scan.nextInt();
            String newLine = scan.nextLine();

            Patient newP = new Patient(firstname,surname,illness,illnessSeverity);
     newPatient.add(newP);
           }

        for (Patient newPatientData : newPatient) {

            System.out.println(newPatientData);
        }   


        } catch(Exception e) {
            System.out.println("ERROR - file not found");  
        }