import java.io.File;
import java.util.PriorityQueue;
import java.util.Scanner;
public class Patient implements Comparable<Patient> {
private String firstName;
private String lastName;
private String illness;
private int severity;
private Scanner x;
public Patient(String first, String surname, String ill, int sever) {
setFirstName(first);
setLastName(surname);
setIllness(ill);
setSeverity(sever);
}
public Patient() {
// TODO Auto-generated constructor stub
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String first) {
firstName = first;
}
public String getLastName() {
return lastName;
}
public void setLastName(String surname) {
lastName = surname;
}
public String getIllness() {
return illness;
}
public void setIllness(String ill) {
illness = ill;
}
public int getSeverity() {
return severity;
}
public void setSeverity(int sever) {
if (sever >= 1 && sever <= 5) {
severity = sever;
} else {
System.out.println("Error");
}
}
public int compareTo (Patient otherPatient) {
if (getSeverity() > otherPatient.getSeverity()) {
return -1;
} else if (getSeverity() < otherPatient.getSeverity()) {
return 1;
} else {
return 0;
}
}
public void openList() {
try {
x = new Scanner(new File(" *PATH*/patients(2).txt"));
}
catch(Exception e) {
System.out.println("Could not read file");
}
}
public void readList() {
PriorityQueue<Patient> priority = new PriorityQueue<Patient>();
while(x.hasNext()) {
firstName = x.nextLine();
lastName = x.nextLine();
illness = x.nextLine();
severity = x.nextInt();
x.nextLine();
priority.add(this);
while (!priority.isEmpty()) {
System.out.println(priority.poll());
}
}
}
public static void main(String[] args) {
Patient p = new Patient();
p.openList();
p.readList();
}
@Override
public String toString() {
return "Patient [firstName=" + firstName + ", lastName=" + lastName + ", illness=" + illness + ", severity="
+ severity + "]";
}
}
Он печатает что-то вроде этого:
Patient [firstName=John, lastName=Smith, illness=heart attack, severity=5]
Patient [firstName=Johnty, lastName=Smithy, illness=burn, severity=3]
У меня есть текстовый файл в Eclipse под названием Patients (2) в формате
first name
surname
illness
illness severity
и затем имя для следующего пациента et c ....
Я хочу добавить пациентов в приоритетную очередь, а затем отсортировать их от наивысшей степени серьезности (сверху) до наименьшей
. Правильно добавляет их и печатает. их, но они не сортируются, и я не знаю почему.