私はここに新しいですし、私のコードのいくつかの助言を探していた。配列リストArrayList<patient> heartPatientArray = new ArrayList<patient>(); //heart patients
を並べ替えることができるようにしようとしていますpatient's
arrivalTime
。Java:同等の問題を実装する
コード:
class patient implements Comparable
{
int typeSickness; //1 for heart 2 for gastro 3 for bleeding
double arrivalTime; //what time they arrived SORT BY
int deathTime; // what time they are set to balk or die
int status; //0 for being cared for, 1 to n for location in line, -1 if dead
int personalNumberInLine; //personal number in line updated everytime someone enters the line
double timeSpentInQueue; //total time before they either died or were able to be treated
int idOfPerson; //unique id the person gets when entering the queue
boolean isAlive;
public patient(int sickness, double arrival, int ID) { //sets the patients sickness, time arrived, and ID
typeSickness=sickness;
arrivalTime=arrival;
idOfPerson = ID;
}
public int getTypeSickness() {
return typeSickness;
}
public void setTypeSickness(int typeSickness) {
this.typeSickness = typeSickness;
}
public double getArrivalTime() {
return arrivalTime;
}
public void setArrivalTime(double arrivalTime) {
this.arrivalTime = arrivalTime;
}
public int getDeathTime() {
return deathTime;
}
public void setDeathTime(int deathTime) {
this.deathTime = deathTime;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getNumberInLine() {
return personalNumberInLine;
}
public void setNumberInLine(int numberInLine) {
this.personalNumberInLine = numberInLine;
}
@Override
public int compareTo(patient one) {
if (this.getArrivalTime() < one.getArrivalTime()) {
return -1;
}
else if(this.getArrivalTime() > one.getArrivalTime()){
return 1;
}
return 0;
}
some code edited out for time's sake
私は私がオンラインで見つけるいくつかのコードの後に、それをスタイリング試してみたが、私は削除オーバーライド表記のcompareTo(patient one)
上のエラーを取得し、class patient implements Comparable
占いのエラーです私は授業を抽象的にする必要があります。
compareToを正しく実装したら、どうすればheartPatientArray
をソートすることができますか?
生の種類は何ですか? ( 'Comparable'はジェネリック型です。) –
Savior