Infos:
Die Mitglieder werden in der Reihenfolge ihrer Fähigkeiten aufgelistet. Die Spielstärke eines Golfspielers wird in Form seines Handicaps angegeben. Je niedriger das Handicap desto stärker der Spieler.Um in die Rangliste aufgenommen zu werden, muss man zunächst ein Aufnahmeverfahren durchlaufen. Hierzu wird man zunächst auf eine Warteliste gesetzt. Jede Woche wird der erste Anwärter der Warteliste geprüft. Dann entscheidet der Vorstand, ob der Spieler in den Club, und damit in die Rangliste, aufgenommen wird, von der Warteliste gestrichen wird.
Aufgabe:
Implementieren Sie die Methode neuerAnwaerter
so, dass ein neuer Spieler mit den in die zugehörigen Textfelder eingetragenen Daten in die Warteliste aufgenommen wird.
Bitte mit Erklärung, damit ich es nachvollziehen kann. Ich habe es wirklich versucht, komme jedoch auf kein Resultat. Ich denke es hat was mit der Methode enqueue
zu tun, aber wie setze ich es nun um?
Wie genau kann ich den Anwärter implementieren?
Code:
public class Spielerrangliste{
private List<Spieler> rangliste;
private Queue<Spieler> anwaerter;
public Spielerrangliste(){
rangliste = new List<>();
anwaerter = new Queue<>();
dummySpielerEinfuegen();
}
public void dummySpielerEinfuegen(){
Spieler s1 = new Spieler("Fuerstin Pueckler",200);
Spieler s2 = new Spieler("General Wolfenstein",250);
Spieler s3 = new Spieler("Prof. Dr. Schlunz",600);
rangliste.append(s1);// Ranglste hängt S1 an
rangliste.append(s2);// ""S2
rangliste.append(s3);//""S3
Spieler s4 = new Spieler("Norbert Neumann", 700);
anwaerter.enqueue(s4);
Spieler s5 = new Spieler("Natascha Nocheine", 750);
anwaerter.enqueue(s5);
}
public void neuerAnwaerter(String pName, int pHandicap){
//To Do: Hier muss der Quelltext implementiert werden, der den neuen Anwaerter in die Warteliste einfaegt
}
public String listeToString(){
rangliste.toFirst();
String ergebnis = "";
while (rangliste.hasAccess()) {
Spieler aktSpieler = rangliste.getContent();
ergebnis = ergebnis + aktSpieler.getName() + " : " + aktSpieler.getHandicap() + "\n";
rangliste.next();
}
return ergebnis;
}
public String anwaerterToString(){
Queue<Spieler> temp = new Queue<>();
String ergebnis="";
while (!anwaerter.isEmpty()) {
Spieler aktSpieler = anwaerter.front();
temp.enqueue(aktSpieler);
anwaerter.dequeue();
ergebnis = ergebnis + aktSpieler.getName() + "\n";
}
anwaerter = temp;
return ergebnis;
}
}