Queue Warteschlange

Bitte aktiviere JavaScript!
Hätte eine Frage bezüglich einer Aufgabenstellung: Ich muss eine Patientenwarteschlange für eine Ambulanz erstellen mittels Benutzereingabe, die Ambulanz hat 5 Plätze und wenn ein 6ter Patient kommt soll dieser abgewiesen werden könnte mir jemand sagen wie ich das in mein Programm einbaue dass nur 5 aufgenommen werden können?
Hier mein Code:
Java:
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;



public class Ambulanz {

    public static void main(String[] args) {
        Queue<Patient> myQueue = new LinkedList();
        Scanner sc = new Scanner(System.in);
        int input;

        while (true) {

            System.out.println("Wählen Sie zwischen 1-4");
            System.out.println("1 = Patient anlegen");
            System.out.println("2 = Patientenliste ausgeben");
            System.out.println("3 = fordersten Patient entfernen");
            System.out.println("4 = Programm schließen");
            input = sc.nextInt();
            switch (input) {
                case 1:
                    System.out.println("Geben Sie die Daten ihres Patienten ein!");
                    System.out.println("Geben Sie ihren Nachnamen an!");
                    String nachname = sc.next();
                    System.out.println("Geben Sie ihren Vornamen an!");
                    String vorname = sc.next();
                    System.out.println("Geben Sie ihr Geschlecht an!");
                    String geschlecht = sc.next();
                    System.out.println("Geben Sie ihre SV an!");
                    int sv = sc.nextInt();
                    System.out.println("Patient wurde angelegt!");
                    Patient patient = new Patient(nachname, vorname, geschlecht, sv);
                    myQueue.add(patient);
                    System.out.println(patient);
                    break;
                case 2:
                    for (Patient patienten : myQueue) {
                        System.out.println(patienten);
                    }
                    break;
                case 3:
                    System.out.println("Der Patient " + myQueue.remove() + "wurde entfernt");
                    break;
                case 4:
                    System.out.println("Programm wurde beendet!");
                    System.exit(0);
                    break;

            }

        }
    }

}
 
A

Anzeige




Schau mal hier —> (hier klicken)
Bevor du einen neuen Patientien hinzufügst, prüfst du mittels der size-Methode der Queue, ob die bereits 5 Patienten enthält.

Alternativ gibts auch Queue-Implementierungen, bei denen du die Größe festlegen kannst. Zum Beispiel könntest du eine ArrayBlockingQueue verwenden und zum einfügen entsprechend die offer-Methode verwenden (gibt false zurück, wenn Queue voll ist).
 
Zuletzt bearbeitet:
A

Anzeige




Vielleicht hilft dir das hier weiter: (klicke hier)
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben