Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Rueckgabeautomat {
- final static int[] muenzWertigkeit = { 200, 100, 50, 20, 10, 5, 2, 1 };
- int[] muenzAnzahl = new int[muenzWertigkeit.length];
- public String toString() {
- String toString = "Muenzwertigkeit: { ";
- for (int i = 0; i < muenzWertigkeit.length; i++) {
- toString = toString + muenzWertigkeit[i] + " ";
- }
- toString = toString + "} Muenzbestand: { ";
- for (int i = 0; i < muenzAnzahl.length; i++) {
- toString = toString + muenzAnzahl[i] + " ";
- }
- toString = toString + "}";
- return toString;
- }
- // Konstruktor - Anzahl der Muenzen als Eingabe
- public Rueckgabeautomat(int[] muenzAnzahl) {
- this.muenzAnzahl = muenzAnzahl;
- }
- // Ermittle den aktuellen Bestand der Muenzen
- public int[] ermittleBestand() {
- return muenzAnzahl;
- }
- // Ermittle das Rueckgeld auf Basis des aktuellen Muenzbestands
- public int[] ermittleRueckgeld(int einzahlung, int zahlbetrag) {
- int rueckgeld = einzahlung - zahlbetrag;
- int[] rueckgeldAnzahl = new int[muenzAnzahl.length];
- for (int i = 0; i < muenzAnzahl.length; i++) {
- if (rueckgeld >= muenzWertigkeit[i]) {
- while(muenzAnzahl[i] > 0) {
- if (rueckgeld >= muenzWertigkeit[i]) {
- muenzAnzahl[i]--;
- rueckgeldAnzahl[i]++;
- rueckgeld = rueckgeld - muenzWertigkeit[i];
- }
- else {
- break;
- }
- }
- }
- }
- return rueckgeldAnzahl;
- }
- public static void main(String[] args) {
- int[] muenzAnzahl = { 2, 2, 2, 2, 2, 2, 2, 2 };
- Rueckgabeautomat automat1 = new Rueckgabeautomat(muenzAnzahl);
- System.out.println(automat1);
- int[] rueckgeld = automat1.ermittleRueckgeld(100,57);
- System.out.println(automat1);
- for (int i = 0; i < rueckgeld.length; i++) {
- System.out.print(rueckgeld[i] + " ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement