Mengenbestand

Status
Nicht offen für weitere Antworten.
S

studenten1

Gast
Hallo zusammen,


wir lernen gerade mit bluej java programmieren.


wir sind auf ein problem gestossen, wir müssen einen getraenkeautomaten programmieren, der 4 verschiedene getraenke hat und jeder sorte nur 1 getraenk vorhanden ist.
bei einer abfrage vom fuellstand sollte nachdem das getraenk ausgegeben wurde 0 stehen. soweit haben wir es geschafft. das problem ist, man kann immernoch getraenke rauslassen obwohl ich fuellmengenstand 0 habe. also es ist nichts drin, aber es gibt immernoch aus wenn ich es ausgeben will..


kann mir jemand sagen oder dazu verhelfen wie ich dazu komme, das zu sperren??


gruss studenten.
 

seejay

Aktives Mitglied
wie immer:
hier können die wenigsten hellsehen, deshalb musste schon en bissl code präsentieren. bist ja nicht von microsoft ;)

@edit:
ich versuchs mal:
beim bestellen oder ausgeben, testen ob menge == 0 ist und wenn ja fehlermeldung ausgeben
Code:
if (menge[i] == 0)
{
System.out.println("Leider komplett vergriffen");
}
else
{
menge[i]--;
System.out.println("Ausgabe von Getränk");
}
 
S

studenten1

Gast
Hallo, vielen dank für deine Hilfe es funktioniert.
wir haben folgenden quelltext bei der ausgabe;
public void gibGetraenk1()

{

if (bisherGezahlt >= getraenkePreis1)
{
System.out.println("---------------");
System.out.println("--Getraenkeautomat");
System.out.println("--Ausgabe von "+getraenkeName1+"--");
System.out.println(""+getraenkePreis1+" Franken");
System.out.println();
gesamtsumme = gesamtsumme + getraenkePreis1;
bisherGezahlt= bisherGezahlt - getraenkePreis1;
}


else {
System.out.println("Sie müssen noch mindestens " +(getraenkePreis1 - bisherGezahlt) + " Franken einwerfen.");
}

if (getraenkeFuellMenge1==0)
{ System.out.println("Leider "+getraenkeName1+" vergriffen");
}
else { getraenkeFuellMenge1 --;
System.out.println("Ausgeben von "+getraenkeName1+"");
}



}



ist da alles richtig so? frage nur weil es 2 mal if und else hat ...

gruss
 

seejay

Aktives Mitglied
denke bitte an die codeformatierung, wenn du code schreibst diesen in die [*code] und [*/code] tags zu schreiben (ohne *)

würde die if abfragen etwas anders verteilen, sonst gibst du ja erst aus, dass du es geholt hast und dann dass es vergriffen ist
Code:
{

if (bisherGezahlt >= getraenkePreis1)
{
  if (getraenkeFuellMenge1==0)
  {
    System.out.println("Leider "+getraenkeName1+" vergriffen");
  }
  else
  {
    System.out.println("---------------");
    System.out.println("--Getraenkeautomat");
    System.out.println("--Ausgabe von "+getraenkeName1+"--");
    System.out.println(""+getraenkePreis1+" Franken");
    System.out.println();
    gesamtsumme = gesamtsumme + getraenkePreis1;
    bisherGezahlt= bisherGezahlt - getraenkePreis1;
  }
}
else {
System.out.println("Sie müssen noch mindestens " +(getraenkePreis1 - bisherGezahlt) + " Franken einwerfen.");
}
}
 
S

studenten1

Gast
okay vielen dank,

werd mich dran halten ab dem nächsten mal :)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben