Taxistand Implementieren

Regza74

Neues Mitglied
Hallo zusammen,
Ich habe die Aufgabe einen Taxistand zu implementieren die Aufgabe ist wie folgt:
Die Aufgabe besteht darin, einen Taxistand zu implementieren und zu simulieren.

Es gibt insgesamt 8 Taxis in der Stadt und 1 Taxistand. Der Taxistand funktioniert als FIFO Struktur (Schlange, Queue, s.o.).



Der folgende Code kann für Sie hilfreich sein:



Die Klasse Taxi ist vorgegeben:



Java:
/**

* Ein Taxi ist ein Objekt, das aus dem Fahrernamen, dem Kennzeichen und

* einer eindeutigen Nummer besteht.

*/

public class Taxi {

private String namefahrer;

private String kennzeichen;

private int nummer;



/**

* Der Konstruktor legt ein Taxi Objekt an und speichert darin den

* Fahrernamen, das Kennzeichen und die Taxinummer.

*/

public Taxi(String namefahrer, String kennzeichen, int nummer) {

this.namefahrer = namefahrer;

this.kennzeichen = kennzeichen;

this.nummer = nummer;

}



/**

* Diese Methoden verwenden wir zur Ausgabe der Meldungen in der Klasse

* Schlange.

*/

public String getnamefahrer() {

return namefahrer;

}



public String getkennzeichen() {

return kennzeichen;

}



public int getnummer() {

return nummer;

}

}



Die Klasse Schlange hat die folgenden Instanzvariablen und den folgenden Konstruktor:



Java:
public class Schlange {

private int nextFree;

private Taxi[] arr;



public Schlange(int nextFree) {

this.nextFree = nextFree;

arr = new Taxi[5];

…

}

…



Die Klasse App hat folgenden Aufbau:



Java:
public class App {

public static void main(String args[]) {

Taxi a = new Taxi(…);

Taxi b = new Taxi(…);

…

Schlange taxistand = new Schlange(0); // Nächster freier Platz

// ist im Index 0



System.out.println("Ausgangssituation");

taxistand.clear(); // leert den Taxistand

taxistand.ausgeben(); // zeigt den Taxistand (siehe Ausgabe)



System.out.println("\1. Situation");

taxistand.clear(); // leert den Taxistand

taxistand.enqueue(a);

taxistand.enqueue(b);

taxistand.enqueue(c);

taxistand.enqueue(d);

taxistand.enqueue(e);

taxistand.enqueue(f);

taxistand.ausgeben();

…



Die Ausgabe sieht dann in etwa so aus:



Code:
Ausgangssituation

Alle 5 Plätze sind leer.



Taxistand

frei frei frei frei frei



1. Situation

Alle 5 Plätze sind leer.

Das Taxi: 1, Franz Vector, BN – FV 300 fährt auf Platz 1

Das Taxi: 2, Angela Merkel, B - DE 001 fährt auf Platz 2

Das Taxi: 3, James Bond, BN - JB 007 fährt auf Platz 3

Das Taxi: 4, Manuel Neuer, M - MN 001 fährt auf Platz 4

Das Taxi: 5, Angelique Kerber, BN - AK 111 fährt auf Platz 5

Fehler: Das Taxi: 6, Boris Becker, M - BB 4911 kann nicht einfahren! Der Taxistand ist picke packe voll!



Taxistand

1 2 3 4 5

Bitte um schnelle Antwort



Hinweise:


  • Die Schlange des Taxistands und damit das Array enthält Objekte, und zwar Taxis. Wenn ein Platz nicht besetzt ist, verwenden Sie bitte die null-Referenz. Sie könnten also schreiben arr[nextFree] = null; wenn ein Platz frei wird.
  • Die Methode public void enqueue(Taxi x) ist ganz leicht zu schreiben. Wenn der Stand nicht voll ist, wird arr[nextFree] = x; gesetzt. Sonst wird eine Meldung ausgegeben (siehe Ausgabe).
  • Die Methode public void dequeue() ist etwas aufwändiger. Sie gibt aus, welches Taxi den Stand verlassen hat. Die anderen Taxis, die warten, müssen nachrücken.
  • Verwenden Sie bitte javadoc Kommentare für die Klassen und Methoden!
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben