Hallo zusammen,
ich hab eine kleine Aufgabe die wie folgt ausschaut:
Das Problem versuche ich gerade zu Lösen, nur habe ich ein Problem und weiß nicht ob es vielleicht an der Gepufferten Ausgabe liegt oder ob mein Programmcode ganz einfach misst ist.
Insgesamt habe ich derzeit 4 Klassen. Es fehlen noch ein paar Sachen aus der Übung die noch implementiert werden müssten, das Grundgerüst sieht so aus:
In meiner Ausgabe gibt es Besucher die das Museum betreten obwohl es geschlossen wurde. Ist das mein verschulden oder liegt es am System.out.print?
Ausgabe schaut so aus:
ich hab eine kleine Aufgabe die wie folgt ausschaut:
Ein Museum ermöglicht Besuchern den Eingang durch den Osteingang und den Ausgang durch den Westausgang.
An- und Abreise werden dem Museumsleiter über das Drehkreuze am Ein- und Ausgang signalisiert.
Wenn das Museum geöffnet ist, signalisiert der Museumsdirektor dem Controller, dass das Museum geöffnet ist, und
der Controller öffnet dann die Ankünfte und Abreisen.
Zum Zeitpunkt der Schließung signalisiert der Direktor, dass das Museum geschlossen ist.
Jetzt lässt der Lotse nur noch Abfahrten zu.
Öffnung um 9:00 Uhr und Schließung um 16:00 Uhr.
Aufgrund der aktuellen Pandemie-Situation achten Sie darauf, dass nur 50 Besucher gleichzeitig das Museum betreten dürfen.
Das Problem versuche ich gerade zu Lösen, nur habe ich ein Problem und weiß nicht ob es vielleicht an der Gepufferten Ausgabe liegt oder ob mein Programmcode ganz einfach misst ist.
Insgesamt habe ich derzeit 4 Klassen. Es fehlen noch ein paar Sachen aus der Übung die noch implementiert werden müssten, das Grundgerüst sieht so aus:
Java:
public class Eingang extends Thread {
private Controller c;
private int max = 50;
public Eingang(Controller c) {
this.c = c;
this.start();
}
public void run() {
while (c.museumOffen()) {
if (c.getCount() < max)
c.museumBetretten();
}
}
}
Java:
public class Ausgang extends Thread {
private Controller c;
public Ausgang(Controller c) {
this.c = c;
this.start();
}
public void run() {
while (c.museumOffen()) {
c.museumVerlassen();
}
}
}
Java:
public class Direktor extends Thread {
private Controller c;
public Direktor(Controller c) {
this.c = c;
this.start();
}
public void run() {
try {
c.museumWirdGeoeffnet();
sleep(100);
c.museumWirdGeschlossen();
} catch (InterruptedException e) {
e.getStackTrace();
}
}
}
Java:
public class Controller {
private boolean offen;
private int count;
public synchronized void museumWirdGeoeffnet() {
System.out.println("Der Direktor oeffnet das Museum");
offen = true;
}
public synchronized boolean museumOffen() {
return offen;
}
public synchronized void museumWirdGeschlossen() {
System.out.println("Der Direktor schliesst das Museum");
offen = false;
}
public synchronized int getCount() {
return count;
}
public synchronized void museumBetretten() {
while(count > 10) {
try {
wait();
}catch(InterruptedException e) {
e.getStackTrace();
}
}
count++;
System.out.println("Besucher " + count + " betritt das Museum");
}
public synchronized void museumVerlassen() {
if(count > 0) {
count--;
System.out.println("Besucher " + count + " verlaesst das Museum");
}
notify();
}
public static void main(String[] args) {
Controller c = new Controller();
Direktor d = new Direktor(c);
Eingang e = new Eingang(c);
Ausgang a = new Ausgang(c);
}
}
In meiner Ausgabe gibt es Besucher die das Museum betreten obwohl es geschlossen wurde. Ist das mein verschulden oder liegt es am System.out.print?
Ausgabe schaut so aus:
Der Direktor oeffnet das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Besucher 1 betritt das Museum
Besucher 2 betritt das Museum
Besucher 3 betritt das Museum
Besucher 4 betritt das Museum
Besucher 5 betritt das Museum
Besucher 6 betritt das Museum
Besucher 7 betritt das Museum
Besucher 8 betritt das Museum
Besucher 9 betritt das Museum
Besucher 10 betritt das Museum
Besucher 11 betritt das Museum
Besucher 10 verlaesst das Museum
Besucher 9 verlaesst das Museum
Besucher 8 verlaesst das Museum
Besucher 7 verlaesst das Museum
Besucher 6 verlaesst das Museum
Besucher 5 verlaesst das Museum
Besucher 4 verlaesst das Museum
Besucher 3 verlaesst das Museum
Besucher 2 verlaesst das Museum
Besucher 1 verlaesst das Museum
Besucher 0 verlaesst das Museum
Der Direktor schliesst das Museum
Besucher 1 betritt das Museum