Ich habe ein Buch zum Java Programieren Lernen. In den ersten Kapiteln werden die Programme noch ohne IDE erstellt.
Ich habe mir aber aus bequemlichkeit schon Eclipse instaliert und benutzt.
Jetz zu meinem Problem:
Schon bei einigen der ersten Programme welche im Buch zur "Einführung" gehören funktionieren nicht, selbst wenn ich den Quellcode von der beiliegenden DVD in Eclipse kopiere.
Java:
/* Kreisberechnung2: Für einen Kreis werden der Umfang
* und der Flächeninhalt berechnet.
* Der Radius des Kreises wird dem Programm als Parameter
* übergeben.
*/publicclassKreisberechnung2{publicstaticvoidmain(String[] args){double radius, umfang, inhalt, pi;
radius =Double.parseDouble(args[0]);
pi =3.1415926;
umfang =2.0* pi * radius;
inhalt = pi * radius * radius;System.out.print("Umfang: ");System.out.println(umfang);System.out.print("Flaeche: ");System.out.println(inhalt);}}
Der Error der hier erscheint:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Kreisberechnung2.main(Kreisberechnung2.java:13)
Da bei den anderen "Programmen" die nicht Funktionieren die selbe Fehlermeldung auftaucht oder sich nur die Zahl hinter Exception ändert ist von von dem Selben Problem auszugehen?!
Der Fehler heißt übersetzt, dass du auf einen Index / eine Position im Array zugreifen möchtest, welche nicht existiert.
In dem Buch wird das Programm vermutlich über die Windows-Konsole gestartet und dabei die zu berechnende Zahl als Parameter mitgegeben.
Da du das Programm aber aus Eclipse heraus startest, gibt es per default keine Start-Parameter. args[0] ist also leer. Als würdest du versuchen, aus einem leeren Glas zu trinken.
Drei Möglichkeiten:
(1)
In Eclipse: Run -> Run-Configurations -> Links im Baum Java Application
-> Hier sollte es einen Unterpunkt geben, der so wie die Klasse mit der main-Methode heißt
-> Rechts den Tab Arguments
Hier im ersten Feld "Program arguments" eine Zahl eintragen und unten auf "Apply" und "Run" klicken.
(2)
Du gibst erstmal einen fixen Wert im Code vor, anstelle args[0] zu benutzen.
(3)
Du schaust dir die Klasse Scanner an und wie du damit Eingaben von der Konsole verarbeitest.
Ahh also ist bei möglichkeit 1 der Wert der in den Einstellungen unter Program Arguments angegeben wird, der Wert den man sonst über die Konsole übergeben hätte?!
Danke hat funktioniert.