Die Aufgabenstellung ist, dass man ein Betrag eingibt und das Programm einem den Betrag in der Form :
1x 5 Euro
2x 1 Euro
Bei zum Beispiel 7 Euro ausgibt.
Ich habe es gelöst in dem ich den Betrag bis null immer verkleinert habe, allerdings habe ich es sehr umständlich gemacht.
Außerdem habe ich noch ein Problem, wenn ich Beträge mit 2 Nachkommastellen eingebe dann hängt das Programm in einer Schleife.
Meine 2 Fragen sind, wie geht es einfacher ? Und wie löse ich das Problem mit der 2. Nachkommastelle ?
Code :
1x 5 Euro
2x 1 Euro
Bei zum Beispiel 7 Euro ausgibt.
Ich habe es gelöst in dem ich den Betrag bis null immer verkleinert habe, allerdings habe ich es sehr umständlich gemacht.
Außerdem habe ich noch ein Problem, wenn ich Beträge mit 2 Nachkommastellen eingebe dann hängt das Programm in einer Schleife.
Meine 2 Fragen sind, wie geht es einfacher ? Und wie löse ich das Problem mit der 2. Nachkommastelle ?
Code :
Java:
//
/**
*
* Beschreibung
*
* @version 1.0 vom 05.01.2017
* @Alex
etwas kompliziert aber Funktioniert
*/
import java.util.Scanner ;
public class MuenzausgabeWechselgeld {
public static void main(String[] args) {
//Deklaration
Scanner sc = new Scanner(System.in) ;
System.out.println("Geben sie einen Betrag ein");
double Betrag = sc.nextDouble() ;
int versuche = 0 ;
int Anzahl = 0 ;
int zaehlen = 0 ;
int aufzaehlen = 0 ;
int versuchea = 0 ;
int versucheb = 0 ;
int versuchec = 0 ;
int versuched = 0 ;
int anzahl = 0 ;
int Anzahla = 0 ;
int Anzahlb = 0 ;
int Anzahlc = 0 ;
int Anzahld = 0 ;
int anzahle = 0 ;
int zahlenreihe = 0 ;
double[] cents = { 0,01, 0,02, 0,05, 0,10, 0,20, 0,50 } ;
double[] muenzen = { 1,00 , 2,00 } ;
double[] scheine = { 5,00, 10,00, 20,00, 50,00, 100,00, 200,00, 500,00 } ;
// Rechenprogramm
do {
while (Betrag>=500) {
if (Betrag >=500.00) {
versuche = versuche+1 ;
Betrag = Betrag - 500.00 ;
} // end of while
}
System.out.println(versuche + "x" + " 500,00 Euro");
while (Betrag >=200.00) {
if (Betrag >=200.00) {
Betrag = Betrag - 200.00;
Anzahl = Anzahl + 1 ;
} // end of while
} // end of if
System.out.println(Anzahl + "x" + " 200 Euro");
while (Betrag >=100.00) {
if (Betrag >=100.00) {
aufzaehlen = aufzaehlen + 1 ;
Betrag = Betrag - 100.00 ;
} // end of while
} // end of if
System.out.println(aufzaehlen + "x" +" 100,00 Euro");
while (Betrag >=50.00) {
if (Betrag >=50.00) {
zaehlen = zaehlen +1 ;
Betrag = Betrag - 50.00 ;
} // end of while
} // end of if
System.out.println(zaehlen +"x" + " 50,00 Euro");
while (Betrag>=20.00) {
if (Betrag>=20.00) {
versuchea = versuchea + 1 ;
Betrag = Betrag - 20.00 ;
} // end of if
} // end of while
System.out.println(versuchea + "x" + " 20,00 Euro");
while (Betrag>=10.00) {
if (Betrag>=10.00) {
versucheb = versucheb + 1 ;
Betrag = Betrag - 10.00 ;
} // end of if
} // end of while
System.out.println(versucheb + "x" + " 10,00 Euro");
while (Betrag >=5.00) {
if (Betrag >=5.00) {
versuchec = versuchec + 1 ;
Betrag = Betrag - 5.00 ;
} // end of if
} // end of while
System.out.println(versuchec + "x" + " 5,00 Euro");
while (Betrag >=2.00) {
if (Betrag >=2.00) {
versuched = versuched + 1 ;
Betrag = Betrag - 2.00 ;
} // end of if
} // end of while
System.out.println(versuched + "x" + " 2,00 Euro");
while (Betrag >=1.00) {
if (Betrag >=1.00) {
anzahl = anzahl + 1 ;
Betrag = Betrag - 1.00 ;
} // end of if
} // end of while
System.out.println(anzahl + "x" + " 1,00 Euro");
while (Betrag>=0.50) {
if (Betrag >= 0.50) {
Anzahla = Anzahla + 1 ;
Betrag = Betrag - 0.50 ;
} // end of while
} // end of if
System.out.println(Anzahla + "x" + " 50 Cent");
while (Betrag >= 0.20) {
if (Betrag >= 0.20) {
Anzahlb = Anzahlb + 1 ;
Betrag = Betrag - 0.20 ;
} // end of if
} // end of while
System.out.println(Anzahlb + "x" + " 20 Cent ");
while (Betrag >= 0.10) {
if (Betrag >= 0.10) {
Anzahlc = Anzahlc + 1 ;
Betrag = Betrag - 0.10 ;
} // end of if
} // end of while
System.out.println(Anzahlc + "x" +" 10 Cent ");
while (Betrag >= 0.05) {
if (Betrag>= 0.05) {
Anzahld = Anzahld + 1 ;
Betrag = Betrag - 0.05 ;
} // end of if
} // end of while
System.out.println(Anzahld + "x" + " 5 Cent ");
while (Betrag >= 0.02) {
if (Betrag >= 0.02) {
anzahle = anzahle + 1 ;
Betrag = Betrag - 0.02 ;
} // end of while
} // end of if
System.out.println(anzahle + "x" + " 2 Cent ");
while (Betrag >= 0.01) {
if (Betrag >= 0.01) {
zahlenreihe = zahlenreihe + 1 ;
Betrag = Betrag -0.01 ;
} // end of if
} // end of while
System.out.println(zahlenreihe + "x" + " 1 Cent");
} while (Betrag !=0); // end of do-while
} // end of main
} // end of class MuenzausgabeWechselgeld