Befehlszeilen-Argumente

Status
Nicht offen für weitere Antworten.

Da.Bull

Mitglied
Hallo zusammen,

ich wollte gerade mal zum Testen eine kleine Application schreiben, die einfach auf die Bafehlszeilenargumente reagiert. Jetzt habe ich allerdings das Problem, dass wenn ich kein Argument angebe, ich einen Fehler bekomme:

Code:
markus:~>java ausgabe
Tescht, sozusagen
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at ausgabe.main(ausgabe.java:7)

Programmcode:

Code:
public class ausgabe
{
    public static void main(String[] args)
        {
            System.out.println("Tescht, sozusagen");

            if(args[0].equals("-help"))
                System.out.println("Hier ist die Hilfeseite!");
            else if(args[0].equals("-test"))
                System.out.println("Test passed!");
        }
}

Mich würde interessieren, was ich machen muss, damit wenn ich "java ausgabe" eingebe, nur "Tescht, sozusagen" zurückgegeben wird und ich trotzdem auf die Argumente "-help" und "-test" zugreifen kann.
und noch mehr würde mich interessieren, wieso ich diese Exception überhaupt bekomme...

Danke schonmal.

MfG Markus
 
B

bygones

Gast
wenn keine argumente da sind, gibt es nun mal nichst worauf du zugreifen kanns -> daher die Exception (es gibt kein args[0])...

überprüfe am anfang ob args.length == 0 ist, das ist der Fall wenn keine Argumente übergeben wurden
 

babuschka

Top Contributor
eine möglichkeit wäre auch das ganze in einen try-catch-block zu schreiben, sodass du die exception abfangen kannst. die lösung mit "args.length == 0" funktioniert nämlich nur bei einem abgeprüften parameter. sobald du im programm 2 parameter abfragen willst und du übergibst nur einen wird dieselbe exception auftreten...sofern du allerdings ohnehin maximal einen parameter verwendest wird "args.length == 0" wohl die einfachste lösung sein...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
I Argumente einer Java Methode Java Basics - Anfänger-Themen 14
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
P Argumente auf plausibilität prüfen... Java Basics - Anfänger-Themen 8
J Argumente einlesen Java Basics - Anfänger-Themen 9
DStrohma Best Practice VM Argumente in Applikation übernehmen? Java Basics - Anfänger-Themen 1
B Schlüsselworte Argumente, Was ist das? Java Basics - Anfänger-Themen 10
S Aus Strings Argumente einlesen!? Java Basics - Anfänger-Themen 3
D VM Argumente - Das Maximum rausholen Java Basics - Anfänger-Themen 19
G Einfache if-Abfrage der Main-Argumente Java Basics - Anfänger-Themen 3
Fab1 Argumente in der Kommandozeile eingeben Java Basics - Anfänger-Themen 4
L Java Kommandozeilen Argumente Java Basics - Anfänger-Themen 10
F JAR Archiv VM Argumente übergeben Java Basics - Anfänger-Themen 3
Luk10 Midi - Konstruktor-Argumente Java Basics - Anfänger-Themen 5
M Argumente Speichern Java Basics - Anfänger-Themen 4
K mein() Methode – Argumente auslesen Problem Java Basics - Anfänger-Themen 6
G wo sind die Argumente der main()-Methode erreichbar? Java Basics - Anfänger-Themen 3
J argumente rückgeben Java Basics - Anfänger-Themen 10
A Versenden von Nachrichten, Argumente, Prototypen? Java Basics - Anfänger-Themen 5
M Warum funktioniert das nicht? (Argumente an Jar übergeben) Java Basics - Anfänger-Themen 3
B Tastatur eingaben abfragen und dann in Argumente zerlegen..? Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben