/************************************************************************************** *************************************************************************************** Übungsblatt 7, Aufgabe 1 Gruppe: Madlen Frieseke, Carsten Kötter, Erik Streb *************************************************************************************** **************************************************************************************/ public class Euro{ int[] zurueck = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; double[] euro = {1000,500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01}; //euro-stückelung double a,b; public int[] Wechsel (double bet, double geg){ if (geg=euro[i]){ zurueck[i]++; geg -= euro[i]; } } } return zurueck; } public static void main (String[] args){ Euro geld = new Euro(); if (args.length==2){ try{ // versuchte Umwandlung von String in double-Wert // ueber den Umweg Konstruktor von Wrapperklasse "Double" Double d_obj = new Double(args[0]); // im Fehlerfall wird autom. ein Objekt der Klasse // NumberFormatException erzeugt und diese Anweisung // nicht mehr ausgefuehrt -> Sprung in den catch-Block geld.a = d_obj.doubleValue(); } // wird nur im passenden Fehlerfall ausgefuehrt catch (NumberFormatException exc){ System.out.println("Fehler! Umwandlung des Strings \""+ args[0] + "\" fuer zu zahlenden Preis gescheitert!\nGeben Sie z.B. eine solche Zahl ein: 5.95"); // Default-Wert setzen geld.a=-1; } try{ // versuchte Umwandlung von String in double-Wert // ueber den Umweg Konstruktor von Wrapperklasse "Double" Double d_obj = new Double(args[1]); // im Fehlerfall wird autom. ein Objekt der Klasse // NumberFormatException erzeugt und diese Anweisung // nicht mehr ausgefuehrt -> Sprung in den catch-Block geld.b = d_obj.doubleValue(); } // wird nur im passenden Fehlerfall ausgefuehrt catch (NumberFormatException exc){ System.out.println("Fehler! Umwandlung des Strings \""+ args[1] + "\" fuer gegebenes Geld gescheitert!\nGeben Sie z.B. eine solche Zahl ein: 5.95"); // Default-Wert setzen geld.b=-1; } if (geld.a>=0 & geld.b>=0){ System.out.println ("Zu Zahlen: "+geld.a+" Euro.\nGegeben: "+geld.b+" Euro."); int[] rueckgeld = geld.Wechsel(geld.a,geld.b); if (geld.a < geld.b) System.out.println("\nSie erhalten "+(geld.b - geld.a)+" Euro Rueckgeld in folgender Stueckelung: "); else if (geld.a == geld.b) System.out.println("\nSie haben passend gegeben. Sie bekommen nichts zurueck."); for (int i=0; i0) System.out.println("\t"+rueckgeld[i]+" mal " +geld.euro[i]+" Euro."); } } else System.out.println("Sie muessen schon den Preis des Produkts und das gegebene Geld angeben!!!\nUnd zwar so z.B.: Euro 5.90 10.0"); } }