Hi Leute,
ich hab da mal ein kleines Problem, an dem ich schon seit einer Weile festhänge.
Folgende Aufgabenstellung:
Hier das was ich bis jetzt erreicht habe. Mit der HashTable bin ich überfordert und ich weiß nicht wie das implementiert werden kann und gemeint ist.
</muenzart></muenzart>
ich hab da mal ein kleines Problem, an dem ich schon seit einer Weile festhänge.
Folgende Aufgabenstellung:
Mit einem Verkaufsautomaten sollen verschiedene Produkte verkauft werden. Nachdem der Kunde mehrere Produkte ausgewählt hat, berechnet der Automat die Summe der Einzelpreise. Dann kommt es zur Bezahlung. Der Benutzer wirft eine bestimmte Anzahl von Münzen ein. Der Automat entscheidet dann ob genug gezahlt wurde oder nicht.
Der Automat akzeptiert die folgenden Münzen: 1Euro, 2Euro, 50Cent, 20Cent, 10Cent, 1Cent, 2Cent, 5Cent. Intern verfügt der Automat über einen Speicher, für solche Münzen......
A) Schreiben Sie eine Enumeration mit dem Namen Münzart. Jede Konstante dieser Enumeration soll für eine der o.g. Münzen gelten. Jeder Konstanten soll ein Wert in Cent zugewiesen werden. Realisieren Sie dies mit einem geeignetem Objektatribut
B) Schreiben Sie eine Klasse mit dem Namen Münzen. Jede Instanz dieser Klasse Münzen steht für mehrere Münzen, die unterschiedliche Münzenarten haben können. Eine Instanz der Klasse Münzen speichert in einem Objektatribut zu jeder Münzart eine Anzahl. Verwenden Sie dazu die Generic-Klasse HashTable <a,b>.
</a,b>Erläuterung: Eine Instanz der Klasse Münzen kann dazu verwendet werden, den Bezahlvorgang des Kunden zu beschreiben. Eine solche Instanz kann jedoch auch dazu verwendet werden, den Stand des im Automaten eingebauten Münzspeichers zu beschreiben. eine Solche Instanz kann schließlich auch dazu verwendet werden, die Wechselgeld-Zahlung zu beschreiben.
C) Schreiben Sie zur Klasse Münzen einen Default-Konstruktor, der eine leere Münzenmege erzeugt.
D) Schreiben Sie zur Klasse MÜnzen eine Objektmethode setMünze, mit der man die Anzahl einer der bestimmten Münzart auf einen bestimmten Wert setzen kann. Münzart und Anzahl sollen Parameter der Methode sein.
E) Schreiben Sie zur Klasse MÜnzen eine Objektmethode getMünze mit der man zu einer Münzart deren Anzahl abfragen kann. Die Methode kann einen Parameter vom Typ Münzart und einen Rückgabewert vom Typ Int haben, der die Anzahl der Münzen dieses Typs zurück gibt.
F) Schreiben Sie zur Klasse Münzen eine toString()-Methode, die den Inhalt deines Münzen-Objekts gemäß den nachfolgenden Schema in einen String verwandelt.2 Euro - 1 Stück
50 Cent - 3 Stück
1 Cent - 5 Stück
Hier das was ich bis jetzt erreicht habe. Mit der HashTable bin ich überfordert und ich weiß nicht wie das implementiert werden kann und gemeint ist.
Code:
public enum MuenzArt {
EinCent(1),
ZweiCent(2),
FuenfCent(5),
ZehnCent(10),
ZwanzigCent(20),
FuenfzigCent(50),
EinEuro(100),
ZweiEuro(200);
final int wertInCent;
private MuenzArt (int wertInCent){
this.wertInCent = wertInCent;
}
public int _getCent(){
return wertInCent;
}
}
Code:
import java.util.Vector;
public class Muenze {
Vector <muenzart> m;
int münzenErhalten = m.size();
public Muenze (){
m = new Vector <muenzart>();
}
//Münze einwerfen
public void muenzeEinwerfen (MuenzArt coin){
m.add(coin);
}
//Münzspeicher
//Rueckgeld
}