mein erstes Posting hier. Also wenn noch nicht alles so perfekt ist, nicht sauer sein.
Aufgabe: Programm für einen Cola-Automaten, der das passende Restgeld wieder zurückgibt. Das ganze mit Eclipse geschrieben, OS
Folgender Code:
Code:
public class Kasse {
public static void main {String args []){
int betrag; // zu zahlender Betrag in Cents
int einwurf; //Betrag, der vom Kunden eingeworfen wird
int wechsel; //Restbetrag, den der Automat ausgeben muss in Cents
//Anzahl der auszugebenden Muenzen
int zwei; // 2 Euro Muenzen
int eins; // 1 Euro Muenzen
int fuenfzig; //50 Cent Muenzen
int zwanzig; //20 Cent Muenzen
int zehn; //10 Cent Muenzen
//Parameter aus der Kommandozeile uebernehmen
betrag = Integer.parseInt (args[0]);
einwurf = Integer.parseInt (args[1]);
//Berechnung Wechselgeld
wechsel = einwurf - betrag;
zwei = wechsel / 200;
wechsel= wechsel % 200;
eins = einwurf / 100;
wechsel = wechsel % 100;
fuenfzig = wechsel / 50;
wechsel = wechsel % 50;
zwanzig = wechsel / 20;
wechsel = wechsel % 20;
zehn = wechsel / 10;
// Ausgabe
System.out.println ("zu zahlen: " + betrag/100.0 + " Euro");
System.out.println (" gezahlt: " + einwurf/100.0 + " Euro");
System.out.println (" Restgeld:");
System.out.println (zwei + " 2 Euro Muenzen");
System.out.println (eins + " 1 Euro Munezen");
System.out.println (fuenfzig + " 50 Cent Muenzen");
System.out.println (zwanzig + " 20 Cent Muenzen");
System.out.println (zehn + " 10 Cent Muenzen");
}
}
So weit sollte das laufen. Musste das noch mal abschreiben. Können noch kleine Fehler drin sein.
Worauf ich aber hinaus wollte, ist der Abschnitt, wo die Parameter aus der Kommandozeile übernommen werden sollen. Wenn ich sie festlege, also feste Zahlen im Programm deklariere, klappt alles wunderbar.
Schreibe ich es so wie oben, dann bekomme ich bei Eclipse folgende Fehlermeldung:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Kasse.main (Kasse.java:17)
Weiß jemand, wie ich das beheben kann oder möglichst einfach in Eclipse aus der Kommandozeile lesen kann?
Mein OS ist WindowsXP. Mein Compiler compilance level liegt bei 5.0.
bie Eclipse kann man mühsam unter Run.. den Programmstart konfigurieren und auch Parameter fest vorgeben,
so schön einfach variable wie von der Konsole gehts aber nicht,
alternativ könntest du die Parameter zu Beginn des Programms von der Konsole einlesen,
das geht dann auch in der Eclipse-Konsole einigermaßen
Also ich fand den Hinweis eigentlich recht freundlich formuliert. Es ist nur mit der Zeit nervig, jeden Tag 3ma das Selbe zu erklären. Daher verstehe ich die Reaktion von Slater durchaus. Mal ganz davon abgesehen, kann sich Slater das als "Java-Elite" auch durchaus mal leisten .
geantwortet habe ich nur da ich der letzte Gesprächsparter war.
unfreundlich geht gar nicht, da ich dir ja freiwillig helfe.
rustikal nenne ich das immer, passend zu so einer frechen Frage
'ich will nicht selber Java lernen, bitte erklärt mir alles
(am besten ihr schaut in den Büchern nach und findet es für mich)'
nicht absichtlich, ich weiß, daher kein Vorwurf sondern nur ein spitzfindige Bemerkung