Berechnung von Geldausgabe

deni100

Aktives Mitglied
Hallo Jungs und Mädels, beim Lernen habe ich wieder nicht mehr weitergewusst.


Java:
package geldbetrag;

public class Geldbetrag {
	int betrag,rest,anzahlhunderter,ergebnis;
	int anzahlZehnEuro,anzahlFuenfEuro,anzahlZweiEuro,anzahlEinEuro;
		
public void geldBetragEinlesen(){
	betrag = 23;
	
}
public void geldBetragBerechnen(){
	betrag= rest;
	anzahlZehnEuro= betrag/10;
	rest=rest % 10;
	anzahlFuenfEuro=betrag/5;
	rest=rest %5;
	anzahlZweiEuro=betrag%2;
	rest=rest %2;
	anzahlEinEuro = rest;
		
}
public void geldBetragAusgeben(){
	System.out.println("Der Betrag vom Betrag  wird ausgezahlt in:");
	System.out.println("Zehn Euro Scheine " + anzahlZehnEuro);
	System.out.println("Fuenf Euro Scheine " + anzahlFuenfEuro);
	System.out.println("Zwei Euro Münzen "+ anzahlZweiEuro);
	System.out.println("Ein Euro Münzen" + anzahlEinEuro);
}
}

Das ist der Code, das Ziel ist es z.B wenn 23 eingegeben wurde zu sagen . Man braucht 2 Zehn Euro Scheine und 1 Zwei Euro Münze und eine Ein Euro Münze. Was mache ich wieder falsch. Bitte in dem Schema des Programmes helfen, den sowas muss ich in der KA auch müssen.
Danke schonmal für Hilfen :).
 

Eldorado

Bekanntes Mitglied
Was soll denn dass:
Java:
betrag= rest;
Damit überschreibst du doch den Betrag mit 0...
 

deni100

Aktives Mitglied
Was soll denn dass:
Java:
betrag= rest;
Damit überschreibst du doch den Betrag mit 0...

Danke, nachdem ich das weggemacht habe, kam jetzt eine Antwort.
Ich habe 23 eingegeben:

Der Betrag vom Betrag wird ausgezahlt in:
Zehn Euro Scheine 2
Fuenf Euro Scheine 4
Zwei Euro Münzen 1
Ein Euro Münzen0

Das ist rausgekommen.

Es muss aber :
Der Betrag vom Betrag wird ausgezahlt in:
Zehn Euro Scheine 2
Fuenf Euro Scheine 0
Zwei Euro Münzen 2
Ein Euro Münzen1

Wie krieg ich das hin :). Danke für die Antworten :p
 

Eldorado

Bekanntes Mitglied
Also das:
Java:
anzahlZweiEuro=betrag%2;
sollte bestimmt auch:
Java:
anzahlZweiEuro=betrag/2;

Lass dir einfach mal mit System.out.println(); die verschiedenen Reste ausgeben, dann sieht man den Fehler bestimmt sofort.
 

bandy

Bekanntes Mitglied
Hallo Jungs und Mädels, beim Lernen habe ich wieder nicht mehr weitergewusst.


Java:
package geldbetrag;

public class Geldbetrag {
	int betrag,rest,anzahlhunderter,ergebnis;
	int anzahlZehnEuro,anzahlFuenfEuro,anzahlZweiEuro,anzahlEinEuro;
		
public void geldBetragEinlesen(){
	betrag = 23;
	
}
public void geldBetragBerechnen(){
	betrag= rest;
	anzahlZehnEuro= betrag/10;
	rest=rest % 10;
	anzahlFuenfEuro=betrag/5;
	rest=rest %5;
	anzahlZweiEuro=betrag%2;
	rest=rest %2;
	anzahlEinEuro = rest;
		
}
public void geldBetragAusgeben(){
	System.out.println("Der Betrag vom Betrag  wird ausgezahlt in:");
	System.out.println("Zehn Euro Scheine " + anzahlZehnEuro);
	System.out.println("Fuenf Euro Scheine " + anzahlFuenfEuro);
	System.out.println("Zwei Euro Münzen "+ anzahlZweiEuro);
	System.out.println("Ein Euro Münzen" + anzahlEinEuro);
}
}

Das ist der Code, das Ziel ist es z.B wenn 23 eingegeben wurde zu sagen . Man braucht 2 Zehn Euro Scheine und 1 Zwei Euro Münze und eine Ein Euro Münze. Was mache ich wieder falsch. Bitte in dem Schema des Programmes helfen, den sowas muss ich in der KA auch müssen.
Danke schonmal für Hilfen :).

Ich wuerde das in einer if-Abfrage programmieren.

Java:
if((betrag>0)&&(betrag<5))
...dann...

if((betrag>5)&&(betrag<10))
...dann...

if((betrag>10)&&(betrag<20))
...dann...

if((betrag>20)&&(betrag<50))
...dann...
 

deni100

Aktives Mitglied
Ich muss das ja auch in der Klassenarbeit und mit If will ich das nicht machen, da wir das nicht durchgemacht haben und mir deswegen vllt Abzüge geben könnte.


Java:
anzahlFuenfEuro=betrag/5;
	rest=rest %5;

Da fängt der Fehler an nach der Zeile
Java:
anzahlZehnEuro= betrag/10;
	rest=rest % 10;
Hier kommt ja die 2 wenn ich 23 eingebe, danach kackt es aber bei der % 5 ab.
 

Eldorado

Bekanntes Mitglied
Ach, ich hab aber auch auf dem Schlauch gestanden. Die Zeile musstest du einfach nur rumdrehen und dann halt überall rest benutzen.
Java:
rest = betrag;
    anzahlZehnEuro= rest/10;
    rest=rest % 10;
    anzahlFuenfEuro=rest/5;
    rest=rest %5;
    anzahlZweiEuro=rest/2;
    rest=rest %2;
    anzahlEinEuro = rest;
Dann sollte es funktionieren. Rest ist die ganze Zeit 0
 

ARadauer

Top Contributor
Ich wuerde das in einer if-Abfrage programmieren.

Java:
if((betrag>0)&&(betrag<5))
...dann...

if((betrag>5)&&(betrag<10))
...dann...

if((betrag>10)&&(betrag<20))
...dann...

if((betrag>20)&&(betrag<50))
...dann...

generell, wenn man irgendwie code verdopplung drinen hat, was ja hier der fall ist, sollte man immer schaun ob man das nicht irgendwie vereinfachen kann. besonders bei solchen dingen mit zahlen, kann man sich super mit arrays helfen


hier ein beispiel:

Java:
public class Geldbetrag {
	int betrag;

	int[] werte = { 100, 50, 20, 10, 5, 1 };
	int[] anzahl = new int[werte.length];

	public void geldBetragEinlesen(int betrag) {
		this.betrag = betrag;
	}

	public void geldBetragBerechnen() {
		anzahl = new int[werte.length];
		int rest = betrag;
		for (int i = 0; i < werte.length; i++) {
			anzahl[i] = rest / werte[i];
			rest = rest % werte[i];
		}
	}

	public void geldBetragAusgeben() {
		System.out.println("Der Betrag vom Betrag " + betrag + "  wird ausgezahlt in:");
		for (int i = 0; i < werte.length; i++) {
			if (anzahl[i] != 0) {
				System.out.println(anzahl[i] + " mal " + werte[i]);
			}
		}
	}

	public static void main(String[] args) {
		Geldbetrag geldbetrag = new Geldbetrag();
		geldbetrag.geldBetragEinlesen(69);
		geldbetrag.geldBetragBerechnen();
		geldbetrag.geldBetragAusgeben();
	}
}
der vorteil ist, man kann das jetzt ganze einfach nach oben bis € 500 oder nach unten bis zu den cent erweitern, man muss nur das obige array anpassen.
 

Eldorado

Bekanntes Mitglied
Funktioniert das nicht nach den Änderungen?

Ach, ich hab aber auch auf dem Schlauch gestanden. Die Zeile musstest du einfach nur rumdrehen und dann halt überall rest benutzen.
Java:
rest = betrag;
    anzahlZehnEuro= rest/10;
    rest=rest % 10;
    anzahlFuenfEuro=rest/5;
    rest=rest %5;
    anzahlZweiEuro=rest/2;
    rest=rest %2;
    anzahlEinEuro = rest;
Dann sollte es funktionieren. Rest ist die ganze Zeit 0
 

bandy

Bekanntes Mitglied
Die Ausgabe ist

Der Betrag vom Betrag wird ausgezahlt in:
Zehn Euro Scheine 2
Fuenf Euro Scheine 4
Zwei Euro Münzen 11
Ein Euro Münzen0

An deiner Stelle wuerde ich erst ueberlegen wie du die Betraege ueberhaupt ausgeben willst.

z.B. betrag=50

Java:
 betrag=50;

Jetzt kannst es in 50Euro-Schein ausgeben, oder 25x 2Euro-Muenzen, oder 50x 1Euro-Muenzen etc.
es gibt zig Moeglichkeiten....
 

ARadauer

Top Contributor
An deiner Stelle wuerde ich erst ueberlegen wie du die Betraege ueberhaupt ausgeben willst.
nö, das ist eine standard unbungsaufgabe, bekommt jeder zweite student mal auf. wie im supermarkt... die kassiererin solls möglichst groß raus geben...
 

bandy

Bekanntes Mitglied
generell, wenn man irgendwie code verdopplung drinen hat, was ja hier der fall ist, sollte man immer schaun ob man das nicht irgendwie vereinfachen kann. besonders bei solchen dingen mit zahlen, kann man sich super mit arrays helfen


hier ein beispiel:

Java:
public class Geldbetrag {
	int betrag;

	int[] werte = { 100, 50, 20, 10, 5, 1 };
	int[] anzahl = new int[werte.length];

	public void geldBetragEinlesen(int betrag) {
		this.betrag = betrag;
	}

	public void geldBetragBerechnen() {
		anzahl = new int[werte.length];
		int rest = betrag;
		for (int i = 0; i < werte.length; i++) {
			anzahl[i] = rest / werte[i];
			rest = rest % werte[i];
		}
	}

	public void geldBetragAusgeben() {
		System.out.println("Der Betrag vom Betrag " + betrag + "  wird ausgezahlt in:");
		for (int i = 0; i < werte.length; i++) {
			if (anzahl[i] != 0) {
				System.out.println(anzahl[i] + " mal " + werte[i]);
			}
		}
	}

	public static void main(String[] args) {
		Geldbetrag geldbetrag = new Geldbetrag();
		geldbetrag.geldBetragEinlesen(69);
		geldbetrag.geldBetragBerechnen();
		geldbetrag.geldBetragAusgeben();
	}
}
der vorteil ist, man kann das jetzt ganze einfach nach oben bis € 500 oder nach unten bis zu den cent erweitern, man muss nur das obige array anpassen.

Natuerlich ist es so nicht schlecht wie du es machst, du musst aber hierbei auch das Niveau des Programmierers beruecksichtigen, meiner Meinung nach, ist deine Loesung fuer ihn zu schwer, er muss selber verstehen was er dort bastelt und deswegen habe versucht das ganze nachvollziehbarer zu machen.:D
 

ARadauer

Top Contributor
er muss selber verstehen was er dort bastelt
ja stimmt, ich bin auch nicht dafür hier hausübungen zu machen. ich denke aber er hat mit diesem code

Java:
 betrag= rest;
    anzahlZehnEuro= betrag/10;
    rest=rest % 10;
    anzahlFuenfEuro=betrag/5;
    rest=rest %5;
    anzahlZweiEuro=betrag%2;
    rest=rest %2;
    anzahlEinEuro = rest;
die aufgabe zu... ok sorry jetzt seh ichs. er rechnet mit dem falschen wert weiter. ich dacht er hat die aufgabe schon fast und hat sich nur am anfang den rest mit betrag mit 0 überschrieben..
du wolltest ihn noch auf den fehler hinführen, das er immer mit dem anfangswert weiterrechnet anstatt mit dem rest..

meiner Meinung nach, ist deine Loesung fuer ihn zu schwer
naja arrays sind jetzt nicht so die wahnsinns herausforderung, anfang november.. da hat man schon 3-4 Vorlesungen gehabt..
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
Jamie logische Verknüpfung zur Schaltjahr-Berechnung Java Basics - Anfänger-Themen 30
Stephan_kl Reihenwert-Berechnung, Ergebnis mit vorherigem Ergebnis vergleichen Java Basics - Anfänger-Themen 11
Abraham42 Berechnung der Kühlung Java Java Basics - Anfänger-Themen 12
S Hashcode-Berechnung + ^ Java Basics - Anfänger-Themen 2
J Median-Berechnung von 2D-Teilarrays Java Basics - Anfänger-Themen 56
F Tabelle - Berechnung Rang Java Basics - Anfänger-Themen 2
B Berechnung der Position von Kinderelemente von einem Elternknoten Java Basics - Anfänger-Themen 23
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
S Switch-Case zur Berechnung der Einkommensteuer Java Basics - Anfänger-Themen 15
F Berechnung der Rektaszension und Deklination eines Sterns Java Basics - Anfänger-Themen 7
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
V Erste Schritte Pi Berechnung Java Basics - Anfänger-Themen 47
M Berechnung der Reststrecke bei Graphen Java Basics - Anfänger-Themen 1
V Algorithmus zur fortlaufenden Berechnung des duechscjnt Java Basics - Anfänger-Themen 1
B Berechnung zu einer Schleife formen Java Basics - Anfänger-Themen 6
B Berechnung Median mit Methode Java Basics - Anfänger-Themen 7
CptK Methoden Berechnung von Anfangsgeschwindigkeit und Winkel Java Basics - Anfänger-Themen 27
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
S Erste Schritte Berechnung des Paketportos - Problem/Frage Java Basics - Anfänger-Themen 52
J Gleitkommazahlen, Berechnung von pi Java Basics - Anfänger-Themen 4
J Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
kilopack15 Verzweiflung wegen Berechnung mit Multithreading Java Basics - Anfänger-Themen 1
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
Salo Berechnung von Winkeln Java Basics - Anfänger-Themen 28
M Restbuchwert Berechnung geht nicht Java Basics - Anfänger-Themen 45
Ghostman1711 Pi berechnung Methode aufrufen Java Basics - Anfänger-Themen 2
L Rekursive Methode zur Berechnung der Potenz q hoch p Java Basics - Anfänger-Themen 17
beatles Operatoren Operatoren - Berechnung Java Basics - Anfänger-Themen 40
K Best Practice Algorithmus für Berechnung von Zahlenreihenfolge Java Basics - Anfänger-Themen 12
N Verzögerte Berechnung "Lazy" Java Basics - Anfänger-Themen 8
J Erste Schritte Rundungsproblem - Berechnung Notendurchschnitt Java Basics - Anfänger-Themen 13
S Variablen Vektor zur Berechnung verwenden Java Basics - Anfänger-Themen 4
T Java double berechnung fehler Java Basics - Anfänger-Themen 2
M Berechnung in Java Java Basics - Anfänger-Themen 4
S Berechnung der Arbeitstage in einem Zeitraum Java Basics - Anfänger-Themen 9
E Problem bei rekursiver Berechnung des Binomialkoeffizienten Java Basics - Anfänger-Themen 5
T Iterative Pi Berechnung in Rekursive Java Basics - Anfänger-Themen 2
S Double, int, Berechnung Java Basics - Anfänger-Themen 3
C Nach Berechnung runden und Wert ausgeben Java Basics - Anfänger-Themen 7
E Berechnung für Shop einbinden Java Basics - Anfänger-Themen 8
S Klassen Formel zur Berechnung .... Bitte um Hilfe Java Basics - Anfänger-Themen 7
S Euklid Algorithmus zur Berechnung des GGTs Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
F Berechnung einer linearen Abschreibung Java Basics - Anfänger-Themen 5
E Berechnung von Punkten Java Basics - Anfänger-Themen 4
D Berechnung des Abstandes von zwei Punkten in einem Koordinatensystem Java Basics - Anfänger-Themen 14
A Methoden PI-Berechnung Java Basics - Anfänger-Themen 22
S Erste Schritte Berechnung mit Daten aus CSV und Date Objekt Java Basics - Anfänger-Themen 2
C Programm zur Berechnung der Spur einer Matrix Java Basics - Anfänger-Themen 4
P Pythagoras Baum - Berechnung der Punkte Java Basics - Anfänger-Themen 9
A Erste Schritte Steuer Berechnung, Alters Abhängig Java Basics - Anfänger-Themen 5
T Erste Schritte Berechnung von gerade und ungerade Zahlen Java Basics - Anfänger-Themen 10
J Erste Schritte Berechnung Ratten vermehrung Java Basics - Anfänger-Themen 4
P falsches ergebnis bei einfacher berechnung Java Basics - Anfänger-Themen 3
T Iterative Berechnung einer Satellitenbahn Java Basics - Anfänger-Themen 20
M Java Berechnung mit mehreren Lösungen? Java Basics - Anfänger-Themen 9
D Nullstellen-Berechnung Java Basics - Anfänger-Themen 10
L Fehlermeldung bei falscher Berechnung anzeigen Java Basics - Anfänger-Themen 31
A berechnung multiplikatives inverses Java Basics - Anfänger-Themen 5
J Berechnung des aktuellen Alters auf Basis des Geburtstags Java Basics - Anfänger-Themen 45
J Datentypen Fehler bei Berechnung mit Double und Int-Werten Java Basics - Anfänger-Themen 22
G Berechnung von Winkeln mit Cosinussatz Java Basics - Anfänger-Themen 2
B Arrays verwenden für Berechnung Java Basics - Anfänger-Themen 3
R Merkwürdige Modulo Berechnung Java Basics - Anfänger-Themen 7
B Hausaufgabe Berechnung quadratischer Funktion Java Basics - Anfänger-Themen 16
U Alter Berechnung + sortierung Java Basics - Anfänger-Themen 6
P Berechnung wird nicht durchgeführt Java Basics - Anfänger-Themen 2
D Berechnung von Ostern und Ramadan! Java Basics - Anfänger-Themen 24
N Algorithmus für Berechnung einer Quersumme Java Basics - Anfänger-Themen 9
F Berechnung von Kugeln! Java Basics - Anfänger-Themen 9
M rekursive Funktion zur Berechnung der Spiegelzahl Java Basics - Anfänger-Themen 7
S Hausaufgabe: Java-Programm schreiben zur Berechnung von x und y Java Basics - Anfänger-Themen 9
Y Ergebnis einer Berechnung an die Main Methode übergeben Java Basics - Anfänger-Themen 11
Semox Ersten Wert eines Intervalls bei Berechnung einschließen Java Basics - Anfänger-Themen 8
J Logarithmische Berechnung und Arrays Java Basics - Anfänger-Themen 2
B LinkedList - Berechnung des Produkts Java Basics - Anfänger-Themen 6
B Berechnung von Preisen per Java-Programm Java Basics - Anfänger-Themen 27
M Alters berechnung aus Geburtsjahr aus dem Buch Java Basics - Anfänger-Themen 5
O Fehler in der String-Distanz-Berechnung Java Basics - Anfänger-Themen 5
-horn- "Berechnung vorwärts, Optimierung rückwärts?" - Wie würdet ihr das machen? Java Basics - Anfänger-Themen 8
P iterative Berechnung Java Basics - Anfänger-Themen 9
1 Berechnung von PI mithilfe von Buffons Nadelproblem Java Basics - Anfänger-Themen 2
G Berechnung zwei Komplexen Zahlen Java Basics - Anfänger-Themen 34
N Rekursive Berechnung der Höhe eines binären Baumes Java Basics - Anfänger-Themen 4
J Programm für interaktive Berechnung von Temperaturverläufen Java Basics - Anfänger-Themen 9
K Annährende ganzzahlige Berechnung der Wurzel Java Basics - Anfänger-Themen 8
L Berechnung von Perioden Java Basics - Anfänger-Themen 4
D einfach berechnung einer onlinezeit Java Basics - Anfänger-Themen 25
S Euklid Klasse mit Methoden zur Berechnung des ggT Java Basics - Anfänger-Themen 23
G Frage zur Primzahlen berechnung Java Basics - Anfänger-Themen 11
G Berechnung von N-Tageslinien von Aktienkursen Java Basics - Anfänger-Themen 13
G Rekursive Berechnung von n über k schlägt fehl Java Basics - Anfänger-Themen 5
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
W Schaltjahr Berechnung Java Basics - Anfänger-Themen 24
A Probleme mit Programm zur Pi-Berechnung Java Basics - Anfänger-Themen 6
X Temperatur-Berechnung /Array(?) Java Basics - Anfänger-Themen 5
L Berechnung Summe Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben