Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Java - Problem: Exception in thread "main"....

Link4 / 2 Antworten / Baumansicht Nickles

Hallo zusammen,


ich bin noch Java-Neuling und habe eine Frage an Euch... ich arbeite z. Z. mit einem Java-Buch. Zum Arbeiten benutze ich kein JBuilder sonder einen normalen Editor + Konsolenfenster.  In dem Buch sind Beispiele, die ich 1:1 übernehme, um sie dann zu compilieren. Das Compilieren klappt auch noch(in meinem Fall also: javac DemoFuerSwitch.java). Wenn ich dann aber: "java DemoFuerSwitch" eingebe, kommt folgende Fehlermeldung:


(Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at DemoFuerSwitch.main(DemoFuerSwitch.java:3)


Also - das Programm DemoFuerSwitch habe ich mehrmals kontrolliert, und ich kann somit ausschließen, dass ich irgendwas falsch aus dem Buch abgeschrieben habe. Übrigens kam diese Fehlermeldung auch schon bei einem anderen kleinen Programm, dass ich aus dem Buch habe.


Ich hoffe, Ihr könnt mir sagen, was das Problem ist...


Gruß

bei Antwort benachrichtigen
Link4 Nachtrag zu: „Java - Problem: Exception in thread "main"....“
Optionen

Achso, das Programm sieht übrigens folgendermaßen aus:

public class DemoFuerSwitch {
public static void main (String args[]) {
int i = Integer.parseInt (args[0]);
switch (i) {
case 1:
case 2: System.out.println (i + " Fall 1,2");
// Weiter bei Fall 3
case 3: System.out.println (i + " Fall 3");
// Weiter bei Fall 7
case 7: System.out.println (i + " Fall 7"); break;
default: System.out.println (i + " sonst");
}
}
}
Gruß
Tibor

bei Antwort benachrichtigen
Deejay Link4 „Achso, das Programm sieht übrigens folgendermaßen aus: public class...“
Optionen

Hiho!

Du musst beim Programmstart eine Zahl als Parameter angeben.
Beispiel:
java DemoFuerSwitch 1
Je nach Parameter schmeisst er Dir nen anderen Text auf den Bildschirm.
Du kannst natürlich auch abfragen, ob überhaupt eine Parameter angegeben wurde. Dafür fügst Du beispielsweise vor Zeile 3 ein:
if (args.length == 0)
{
System.out.println("Bitte eine Zahl als Parameter übergeben.");
return;
}

Bye
Deejay

bei Antwort benachrichtigen