Hallo!
Ich habe gerade angefangen Informatik zu studieren. Und bin schon bei der ersten Übung in Software-Entwicklung ins Stocken geraten. Programmieren ist für mich eigentlich komplettes Neuland, bis auf gelegentliche HTML-Unfälle.
Jedenfalls habe ich die Aufgabe, eine variable Geldsumme, möglichst effizient in Münzen auszuzahlen. Also bei 11,50€ wären das: 5 mal 2€-Münzen, 1 mal 1€ Münze, 1 mal 50cent Münze.
Die Menge der jeweiligen Münzen sollen wir mithilfe eines kleinen Java Programms berechnen. Ich habe im Forum schon gesehen, dass es schon mal einen ähnlichen Fall gegeben hat, der Thread ist aber leider schon geschlossen.
Hier mal mein Code: Bitte ignoriert die Codeteile, die in den Kommentaren stehen, das sind gescheiterte Versuche...
Zum Code selbst. Ich weiß der Code ist zimlich primitiv, ich kann mir aber beim besten Willen nicht vorstellen wie ich das in irgendeine if, when, while, for Funktion einbringen sollte. Wenn mir eventuell jemand einen Tipp geben kann. Aber das hat Zeit. Lieber wäre mir, wenn meine Version einmal läuft. Ich muss das ja mal langsam in meinen Schädl rein bekommen :bloed:
Also beim Debuggen bekommen ich keine Fehlermeldungen. Allerdings funktioniert der Münzverteil-teil :rtfm: nicht. Ich vermute, dass es etwas mit den Klammern zu tun hat.
Gibt es eine andere Klammern-Regel in Java? Im Internet konnte ich bisher noch nichts finden. Weil ich glaube rein mathematisch müsste die Berechnung der Münzanzahl korrekt sein. (wenn man die JAVA-Division berücksichtigt)
Vielen Dank im Vorraus für eure Hilfe,
liebe Grüße,
suizi
PS: ist es klug in diesem Fall mit Cent-Beträgen zu rechnen?
Edit1: hab gerade bemerkt, dass bei result8, das /1 zimlich fürn hugo ist :lol:
Edit2: der Fehlerbereich beginnt in Zeile 37!
Ich arbeite auf einem Macbook Pro Retina 15", mit i7 2,6ghz Cpu, 16gigs ram, unter Mac OSX 10.8.5.
Java ist die neueste Version die es auf der Homepage für Normalsterbliche gibt. (1.7.0_40_b43)
Als Editor verwende ich die neueste Version von jEdit.
Ich habe gerade angefangen Informatik zu studieren. Und bin schon bei der ersten Übung in Software-Entwicklung ins Stocken geraten. Programmieren ist für mich eigentlich komplettes Neuland, bis auf gelegentliche HTML-Unfälle.
Jedenfalls habe ich die Aufgabe, eine variable Geldsumme, möglichst effizient in Münzen auszuzahlen. Also bei 11,50€ wären das: 5 mal 2€-Münzen, 1 mal 1€ Münze, 1 mal 50cent Münze.
Die Menge der jeweiligen Münzen sollen wir mithilfe eines kleinen Java Programms berechnen. Ich habe im Forum schon gesehen, dass es schon mal einen ähnlichen Fall gegeben hat, der Thread ist aber leider schon geschlossen.
Hier mal mein Code: Bitte ignoriert die Codeteile, die in den Kommentaren stehen, das sind gescheiterte Versuche...
Zum Code selbst. Ich weiß der Code ist zimlich primitiv, ich kann mir aber beim besten Willen nicht vorstellen wie ich das in irgendeine if, when, while, for Funktion einbringen sollte. Wenn mir eventuell jemand einen Tipp geben kann. Aber das hat Zeit. Lieber wäre mir, wenn meine Version einmal läuft. Ich muss das ja mal langsam in meinen Schädl rein bekommen :bloed:
Also beim Debuggen bekommen ich keine Fehlermeldungen. Allerdings funktioniert der Münzverteil-teil :rtfm: nicht. Ich vermute, dass es etwas mit den Klammern zu tun hat.
Gibt es eine andere Klammern-Regel in Java? Im Internet konnte ich bisher noch nichts finden. Weil ich glaube rein mathematisch müsste die Berechnung der Münzanzahl korrekt sein. (wenn man die JAVA-Division berücksichtigt)
Vielen Dank im Vorraus für eure Hilfe,
liebe Grüße,
suizi
PS: ist es klug in diesem Fall mit Cent-Beträgen zu rechnen?
Edit1: hab gerade bemerkt, dass bei result8, das /1 zimlich fürn hugo ist :lol:
Edit2: der Fehlerbereich beginnt in Zeile 37!
Ich arbeite auf einem Macbook Pro Retina 15", mit i7 2,6ghz Cpu, 16gigs ram, unter Mac OSX 10.8.5.
Java ist die neueste Version die es auf der Homepage für Normalsterbliche gibt. (1.7.0_40_b43)
Als Editor verwende ich die neueste Version von jEdit.
Java:
public class changemoney
{
public static void main(String[] args)
{
/* Variablen definieren */
int inputmoney;
System.out.println("Bitte geben Sie den Betrag ein: ");
inputmoney = (int) (Input.readFloat()*100);
System.out.println("Umgerechnet: " + inputmoney);
System.out.println("\n");
/* int teiler; /*divisor zum ausrechnen*
teiler=200; /*zuweisung des divisors*
int result; /*variable fuer mehr ergebnisse*/
int result1; /* 2 Euro */
int result2; /* 1 Euro */
int result3; /* 50 Cent */
int result4; /* 20 Cent */
int result5; /* 10 Cent */
int result6; /* 5 Cent */
int result7; /* 2 Cent */
int result8; /* 1 Cent */
/*versuch 2 hier aber wieder das selbe problem wie bei versuch 1
if(inputmoney>=200)
result1 = inputmoney/teiler;
teiler = teiler / 2;
else
result1 = 0;
*/
result1 = inputmoney/200;
result2 = (inputmoney - result1)/100;
result3 = (inputmoney - result1 - result2)/50;
result4 = (inputmoney - result1 - result2 - result3)/20;
result5 = (inputmoney - result1 - result2 - result3 - result4)/10;
result6 = (inputmoney - result1 - result2 - result3 - result4 - result5)/50;
result7 = (inputmoney - result1 - result2 - result3 - result4 - result5 - result6)/2;
result8 = (inputmoney - result1 - result2 - result3 - result4 - result5 - result6 - result7)/1;
System.out.println("2 Euro x " + result1);
System.out.println("1 Euro x " + result2);
System.out.println("50 Cent x " + result3);
System.out.println("20 Cent x " + result4);
System.out.println("10 Cent x " + result5);
System.out.println("5 Cent x " + result6);
System.out.println("2 Cent x " + result7);
System.out.println("1Cent x " + result8);
}
}
Zuletzt bearbeitet: