Hallo liebes Forum,
ich programiere zur Zeit einen Getränkeautomaten.
So alles gut, mir gefällt er auch nur es gibt ein Problem solang der Betrag genau stimmt - den ich einwerfe - bekomme ich die Cola ausgegeben, jedoch wenn der Betrag höher ist als der Preis bekomme ich die Meldung zu wenig Geld eingeworfen: -x,xx euro fehlen noch. Die 2 Fache Überprüfung bei der If-Anweisung ist gewollt, da der Automat einen darauf hinweißen soll, dass wenn man zuwenig einwirft der fehlende Betrag angegeben wird
Wo liegt das Problem ?
Danke schonmal.
Hier der Codeausschnitt
ich programiere zur Zeit einen Getränkeautomaten.
So alles gut, mir gefällt er auch nur es gibt ein Problem solang der Betrag genau stimmt - den ich einwerfe - bekomme ich die Cola ausgegeben, jedoch wenn der Betrag höher ist als der Preis bekomme ich die Meldung zu wenig Geld eingeworfen: -x,xx euro fehlen noch. Die 2 Fache Überprüfung bei der If-Anweisung ist gewollt, da der Automat einen darauf hinweißen soll, dass wenn man zuwenig einwirft der fehlende Betrag angegeben wird
Wo liegt das Problem ?
Danke schonmal.
Hier der Codeausschnitt
Java:
public void FlascheGeben()
{
if(bisherGezahlt==preis && bisherGezahlt>=preis)
{
// Die Ausgabe einer Flasche simulieren.
System.out.println("####################");
System.out.println("## Eine Cola");
System.out.println("## kommt für");
System.out.println("## " + preis + " Euro.");
System.out.println("####################");
System.out.println();
if(bisherGezahlt>=preis)
{
System.out.println("##################");
System.out.println("# Ihr Rückgeld:");
System.out.println("# " + (bisherGezahlt - preis) + " Euro.");
System.out.println("##################");
System.out.println();
}
// Die Gesamtsumme mit dem eingezahlten Betrag aktualisieren.
gesamtsumme += bisherGezahlt;
// Die bisherige Bezahlung zurücksetzen.
bisherGezahlt = 0;
}
else
{
//Restbetrag wird ausgerechnet
restBetrag = preis - bisherGezahlt;
//Restbetrag wird aufgerundet (wegen Double)
restBetrag = Math.round( restBetrag * 100. ) / 100.;
//Restbetrag wird ausgegeben, der noch zu zahlen ist
System.out.println("####################");
System.out.println("## Zu wenig Geld");
System.out.println("## eingeworfen!");
System.out.println("## Noch zu zahlen:");
System.out.println("## " + (restBetrag) + " Euro.");
System.out.println("####################");
System.out.println();
}
}