// Dateiname: Money2.java // Bsp.: Nr. 1132 (Geldberechnung) // Autor: Thomas Terényi // E-Mail: thomas.terenyi@iname.com // Matr.nr.: e0225440 // Datum: 23.10.2002 // Dokumentation: siehe Money2.txt // Beschreibung: Ein Geldbetrag wird eingelesen und auf Scheine und Münzen aufgeteilt. import eprog.*; public class Money2 extends EprogIO { public static void main(String[] args) throws EprogException { // Schleifenzähler deklarieren int i; // Eingabe einlesen String eingabe = readWord(); int laenge = eingabe.length(); // Eingabe überprüfen (nur Ziffernteil) for(i=0;i 9) { println("FALSCHE EINGABE"); return; } // Währung einlesen char waehrung = eingabe.charAt(laenge-1); // Währung überprüfen if(waehrung != 'C' && waehrung != 'D') { println("FALSCHE EINGABE"); return; } // Werte der Scheine entsprechend der Währung initialisieren int[] scheinWert; int[] muenzenWert; int[] scheinAnz; int[] muenzenAnz; if(waehrung == 'C') { scheinWert = new int[]{800,500,100,50,10,2}; muenzenWert = new int[]{5,1}; scheinAnz = new int[]{0,0,0,0,0,0}; muenzenAnz = new int[]{0,0}; } else { scheinWert = new int[]{400,100,50,20,4}; muenzenWert = new int[]{10,5,2,1}; scheinAnz = new int[]{0,0,0,0,0}; muenzenAnz = new int[]{0,0,0,0}; } // Betrag einlesen int betrag = Integer.parseInt(eingabe.substring(0, laenge-1)); // Betrag überprüfen if(betrag < 0 || betrag > 10000000) { println("FALSCHE EINGABE"); return; } // Anzahl der jeweiligen Scheine und Münzen berechnen boolean scheineVorhanden = false; boolean muenzenVorhanden = false; for(i=0;i= 0) { betrag -= scheinWert[i]; scheinAnz[i]++; scheineVorhanden = true; } } for(i=0;i= 0) { betrag -= muenzenWert[i]; muenzenAnz[i]++; muenzenVorhanden = true; } } // Ausgabe formatieren String ausgabe = ""; if(scheineVorhanden) { ausgabe += "S"; for(i=0;i 0) ausgabe = ausgabe + " " + Integer.toString(scheinWert[i]) + " " + Integer.toString(scheinAnz[i]); } if(muenzenVorhanden) { ausgabe += " M"; for(i=0;i 0) ausgabe = ausgabe + " " + Integer.toString(muenzenWert[i]) + " " + Integer.toString(muenzenAnz[i]); } // Ausgabe ausgeben println(ausgabe); } }