# Problem mit Integer.parseInt bei Eclipse



## Namor (2. Feb 2007)

Hallo Leute,

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:


```
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.


----------



## The_S (2. Feb 2007)

Naja, wenn du deinem Programm beim Aufruf keine Parameter mit übergibst, hat "args" natürlich auch keine Werte ...


----------



## Namor (2. Feb 2007)

Ok..was muss ich dann ändern? Bei args oben schon etwas eingeben?


----------



## SlaterB (2. Feb 2007)

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


----------



## Namor (2. Feb 2007)

Auch gut. 
Wie gehe ich da am besten vor (wenn man den Code oben als Beispiel hat)?


----------



## The_S (2. Feb 2007)

Wie man von der Konsole einliest wurde schon ca. 5367509 mal besprochen, aber für dich hier nochmal:


```
BufferedReader buffy = new BufferedReader(new InputStreamReader(System.in));
String zeile = buffy.readLine();
```


----------



## SlaterB (2. Feb 2007)

Java lernt man üblicherweise mit einem Lehrbuch
http://www.galileocomputing.de/openbook/javainsel5/

nicht auf Kosten anderer 

aber vielleicht erklärts dir wer anders, will da niemanden abwimmeln
(eidt: schon geschehen)


----------



## Namor (2. Feb 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Wie man von der Konsole einliest wurde schon ca. 5367509 mal besprochen, aber für dich hier nochmal:
> 
> 
> ```
> ...



Ähm...stimmt. Sorry...das nächste Mal benutze ich selber die Suche.
Aber danke!


----------



## Namor (2. Feb 2007)

SlaterB hat gesagt.:
			
		

> Java lernt man üblicherweise mit einem Lehrbuch
> http://www.galileocomputing.de/openbook/javainsel5/
> 
> nicht auf Kosten anderer
> ...



...und ebenfalls danke. Aber wenn Du so nix beizutragen hast, halte bitte die Finger still.

Ein dezenter Hinweis auf die Suche hätte ja schon gereicht. Finde ich schon sehr unfreundlich hier.

Danke


----------



## The_S (2. Feb 2007)

Namor hat gesagt.:
			
		

> SlaterB hat gesagt.:
> 
> 
> 
> ...



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  .


----------



## SlaterB (2. Feb 2007)

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


----------

