19

Informatik (Subject) / Queue / Test (Lesson)

kek

This lesson was created by adolfhitler2.

Learn lesson

Advertisement
  • private ContentType content = null; private QueueNode nextNode = null; * Ein neues Objekt vom Typ QueueNode<ContentType> wird erschaffen. * Der Inhalt wird per Parameter gesetzt. Der Verweis ist leer. * @param pContent das Inhaltselement des Knotens vom Typ ContentType
  • public QueueNode(ContentType pContent) { content = pContent; nextNode = null; } * Der Verweis wird auf das Objekt, das als Parameter uebergeben wird,* gesetzt.* * @param pNext der Nachfolger des Knotens
  • public void setNext(QueueNode pNext) { nextNode = pNext; } * Liefert das naechste Element des aktuellen Knotens.* * @return das Objekt vom Typ QueueNode, auf das der aktuelle Verweis zeigt
  • public QueueNode getNext() { return nextNode; } * Liefert das Inhaltsobjekt des Knotens vom Typ ContentType.* * @return das Inhaltsobjekt des Knotens
  • private QueueNode head; private QueueNode tail; public Queue() { head = null; tail = null; } * Eine leere Schlange wird erzeugt. * Objekte, die in dieser Schlange verwaltet werden, muessen vom Typ* ContentType sein.
  • public boolean isEmpty() { return head == null; }  * Die Anfrage liefert den Wert true, wenn die Schlange keine Objekte enthaelt, * sonst liefert sie den Wert false.* * @return true, falls die Schlange leer ist, sonst false
  • public void enqueue(ContentType pContent) { if (pContent != null) { QueueNode newNode = new QueueNode(pContent); if (this.isEmpty()) { head = newNode; tail = newNode; } else { tail.setNext(newNode); tail = newNode; } } } * Das Objekt pContentType wird an die Schlange angehaengt. * Falls pContentType gleich null ist, bleibt die Schlange unveraendert.* * @param pContent* das anzuhaengende Objekt vom Typ ContentType
  • public void dequeue() { if (!this.isEmpty()) { head = head.getNext(); if (this.isEmpty()) { head = null; tail = null; } } } * Das erste Objekt wird aus der Schlange entfernt. * Falls die Schlange leer ist, wird sie nicht veraendert.
  • public ContentType front() { if (this.isEmpty()) { return null; } else { return head.getContent(); } } } * Die Anfrage liefert das erste Objekt der Schlange. * Die Schlange bleibt unveraendert. * Falls die Schlange leer ist, wird null zurueckgegeben.** @return das erste Objekt der Schlange vom Typ ContentType oder null,* falls die Schlange leer ist
  • Verkehrskontrolle: Integer die erzeugt werden müssen private int maxAnzahlMaengel = 5;private int maxAnzahlKontrolle = 10;private int gefundeneMaengel;private int kontrollierteFahrzeuge;private int fahrzeugeInKontrolle;private int fahrzeugeInKolonne;
  • Advertisement
  • Verkehrskontrolle: fahrzeug erstellen private Fahrzeug auto1;
  • Verkehrskontrolle: Queues erstellen private Queue<Fahrzeug> kontrolleQueue;private Queue<Fahrzeug> kolonneQueue;
  • Verkehrskontrolle: nicht kontrollieren public void nichtKontrollieren(){kolonneQueue.dequeue();}
  • Verhkehrskontrolle: autos erzeugen private void autosErzeugen(){auto1 = new Fahrzeug("Golf", "blau", "PB AA 1", true); }
  • verkehrskontrolle: Fahrzeug in Kolonne public void fahrzeugInDieKolonne(Fahrzeug pFahrzeug) {kolonneQueue.enqueue(pFahrzeug);fahrzeugeInKolonne++;}
  • Verkehrskontrolle: herauswinken public void herauswinken(){if (!kolonneQueue.isEmpty()){kontrolleQueue.enqueue(kolonneQueue.front());kolonneQueue.dequeue();fahrzeugeInKolonne--;fahrzeugeInKontrolle++;}else {System.out.println("Keine Fahrzeuge mehr in der Kolonne.");}}
  • Verkehrskontrolle: Schlange aufläsen public void kolonneAufloesen(){while(!kolonneQueue.isEmpty()){kolonneQueue.dequeue();fahrzeugeInKolonne--;}}
  • Verkehrskontrolle: Fahrzeug Überprüfen public boolean fahrzeugUeberpruefen(){Fahrzeug aktuellesFahrzeug = kontrolleQueue.front();if (!aktuellesFahrzeug.getVerkehrstauglich()){gefundeneMaengel++;System.out.println("Auto mit Mängel gefunden, Kennzeichen: " + aktuellesFahrzeug.getKennzeichen());}return aktuellesFahrzeug.getVerkehrstauglich(); }
  • Verkehrskontolle: Kontrolle durchführen public void kontrolleDurchfuehren(){while (!kontrolleQueue.isEmpty() ){fahrzeugUeberpruefen();kontrollierteFahrzeuge++;kontrolleQueue.dequeue();fahrzeugeInKontrolle--;}System.out.println("Kontrolle durchgeführt. Es wurden " + kontrollierteFahrzeuge + " kontrolliert und dabei " + gefundeneMaengel + " Mängel festgestellt.");kolonneAufloesen();}