Ich wollte ein Restaurantsystem schreiben und habe folgendes Problem.
Mehrere Objekte der Klasse Kunde sollen eine Reservierung durchführen können.
Sobald ein Kunde einen Sitzplatz hat darf er kein weiteres mehr buchen.
Ich komme nicht drauf, wie ich beide Kundenobjekte unabhängig voneinander behandlen kann.
Wenn ich das Attribut platz auf static umwandle funktioniert es ja nicht.
Da wo die Pfeile hinzeigen sind die Probleme. Wie kann ich das lösen?
Mein einziger Lösungsansatz war bis jetzt welches zwar funktioniert aber nicht richtig ist denke ich:
static void reservieren(int platz, Kunde kunde)
{
....
....
}
So ist das aber leider nicht Sinn der Sache.
Mehrere Objekte der Klasse Kunde sollen eine Reservierung durchführen können.
Sobald ein Kunde einen Sitzplatz hat darf er kein weiteres mehr buchen.
Ich komme nicht drauf, wie ich beide Kundenobjekte unabhängig voneinander behandlen kann.
Wenn ich das Attribut platz auf static umwandle funktioniert es ja nicht.
Da wo die Pfeile hinzeigen sind die Probleme. Wie kann ich das lösen?
Mein einziger Lösungsansatz war bis jetzt welches zwar funktioniert aber nicht richtig ist denke ich:
static void reservieren(int platz, Kunde kunde)
{
....
....
}
So ist das aber leider nicht Sinn der Sache.
Code:
public class Kunde {
static String vorname;
static String nachname;
double guthaben;
int id;
static int anzahlKunden = 1000;
boolean platz;
Reservieren res;
Kunde(String vorname, String nachname) {
this.vorname = vorname;
this.nachname = nachname;
id = ++anzahlKunden;
}
...
...
}
Code:
public class Reservieren {
static boolean[] anzahlSitzplätze = new boolean[10];
Kunde kunde;
static void reservieren(int platz) {
if (Kunde.platz == true) { <------------
System.out.println("Bereits gebucht");
}
else if (anzahlSitzplätze[platz] == false) {
anzahlSitzplätze[platz] = true;
Kunde.platz=true; <------------
}
else {
System.out.println("Schon ausgebucht");
}
}
...
...
}