public void rueckgeldAusrechnen(){
while (wechselgeld>=200 && vorhandenZweiEuro>0){
wechselgeld=wechselgeld-200;
vorhandenZweiEuro--;
outputZweiEuro.setText(""+vorhandenZweiEuro);
}
while(wechselgeld>=100 && vorhandenEinEuro>0){
wechselgeld=wechselgeld-100;
vorhandenEinEuro--;
outputEinEuro.setText(""+vorhandenEinEuro);
}
while(wechselgeld>=50 && vorhandenFuenfzig>0){
wechselgeld=wechselgeld-50;
vorhandenFuenfzig--;
outputFuenfzig.setText(""+vorhandenFuenfzig);
}
while(wechselgeld>=20 && vorhandenZwanzig>0){
wechselgeld=wechselgeld-20;
vorhandenZwanzig--;
outputZwanzig.setText(""+vorhandenZwanzig);
}
while(wechselgeld>=10 && vorhandenZehn>0){
wechselgeld=wechselgeld-10;
vorhandenZehn--;
outputZehn.setText(""+vorhandenZehn);
}
while(wechselgeld>=5 && vorhandenFuenf>0){
wechselgeld=wechselgeld-5;
vorhandenFuenf--;
outputFuenf.setText(""+vorhandenFuenf);
}
String wechselgeldString = String.format("%1$.2f",((float)(wechselgeldAusgeben)/100));
JOptionPane.showMessageDialog(null,"Ihr Rückgeld beträgt "+wechselgeldString+"€.");
}
Der Code ist schon vor einiger Zeit entstanden.. Damals hatten wir JAVA-Projekte im Informatik-LK in der Schule. Der Code gehört zu einem Ticket-Automaten, der mit einer Anzahl vorhandener Münzen auskommen muss. Werden Münzen eingeworfen, erhöht sich diese Zahl dementsprechend.
Der Betrag wird als Ganzzahl übergeben (wechselgeld) und dann wird überprüft, wie oft jede Münze abgezogen werden kann. Sehr unschön, aber übersichtlich ;)
Du kannst die Münzen ganz einfach ändern, indem du im Schleifenkopf und im Anweisungsblock die Zahlen änders. Wenn du Fragen hast, gerne melden. Die ganzen output.setText kannst du getrost löschen, die Felder zeigen nur an, wie viele Münzen es noch gibt.