Hallo,
ich stehe zurzeit vor folgendem Problem und weiß nicht so recht wie ich es realisieren könnte..
In einer kleinen "Restaurant-Simulation" bestellen Gäste bei einem Kellner zB einen Kaffee, dieser gibt den Auftrag an die Küche weiter usw...
Nun bestellt der Gast etwas über eine Methode, und in der Methode "Bestellung aufnehmen" des Kellners bekommt dieser den Auftrag und gibt ihn weiter.
Nun das Problem :
Ich möchte dass der Kellner eine gewisse Zeit für das Übergeben benötigt, und wollte dies erst mit einem sleep() umsetzten, da jedoch mehrere Kellner gleichzeitig verschiedene Gäste bedienen sollen geht das aber nicht...
Von Threads habe ich schon etwas gehört, nur verstehe ich nicht wie ich diese hier anweden kann (die Kellner Klasse "extends Thread"?!) und frage mich ob es nicht eine einfachere Lösung gibt...
Die Klasse Gast:
Die Klasse Kellner:
Ich hoffe jemand kann mir hierbei weiterhelfen..
Liebe Grüße
ich stehe zurzeit vor folgendem Problem und weiß nicht so recht wie ich es realisieren könnte..
In einer kleinen "Restaurant-Simulation" bestellen Gäste bei einem Kellner zB einen Kaffee, dieser gibt den Auftrag an die Küche weiter usw...
Nun bestellt der Gast etwas über eine Methode, und in der Methode "Bestellung aufnehmen" des Kellners bekommt dieser den Auftrag und gibt ihn weiter.
Nun das Problem :
Ich möchte dass der Kellner eine gewisse Zeit für das Übergeben benötigt, und wollte dies erst mit einem sleep() umsetzten, da jedoch mehrere Kellner gleichzeitig verschiedene Gäste bedienen sollen geht das aber nicht...
Von Threads habe ich schon etwas gehört, nur verstehe ich nicht wie ich diese hier anweden kann (die Kellner Klasse "extends Thread"?!) und frage mich ob es nicht eine einfachere Lösung gibt...
Die Klasse Gast:
Java:
public class Gast
{
public int Tischnummer;
public boolean bestellung_erhalten=false;
public CoffeShop c;
public Gast(CoffeShop cs, Integer t)
{
c = cs;
Tischnummer = t+1;
}
public Integer getTischnummer()
{
return Tischnummer;
}
public void kellnerRufen (String Artikel, Integer Menge)
{
Kellner bedienung = c.getKellner();
Bestellung order = new Bestellung(this);
if (Artikel.equals("Kaffee"))
{
order.bestellungErweitern("Kaffe",Menge);
System.out.println("Ein Gast (Tisch "+Tischnummer+") hat kaffe bei " + bedienung.getName() + " bestellt");
}
bedienung.bestellungEntgegennehmen(order);
}
}
Die Klasse Kellner:
Java:
public class Kellner {
public String Name;
public boolean Beschaeftigt = false;
public Bestellung AktuelleBestellung;
public CoffeShop c;
public Kellner(CoffeShop cs, String n)
{
c = cs;
Name = n;
}
public String getName()
{
return Name;
}
public boolean istBeschaeftigt()
{
return Beschaeftigt;
}
public void bestellungEntgegennehmen(Bestellung b)
{
AktuelleBestellung = b;
Beschaeftigt= true;
System.out.println(Name + " nimmt Bestellung entgegen...");
//Hier soll er eine gewisse Zeit warten(/brauchen)
System.out.println(Name + " hat die Bestellung erhalten...");
//Hier ebenfalls
c.bestellungHinzufügen(b);
System.out.println(Name + " hat die Bestellung weitergeleitet");
//Hier ebenfalls
Beschaeftigt = false;
}
}
Ich hoffe jemand kann mir hierbei weiterhelfen..
Liebe Grüße