web-dev-qa-db-de.com

So führen Sie ein einfaches Java-Programm in Eclipse aus

Wie Sie wahrscheinlich anhand der Frage selbst nachvollziehen können, bin ich neu in Java. Ich bekam die Übung, ein Java-Programm zu schreiben, das ein Zeichen empfängt, es und das nächste Zeichen in der Unicode-Tabelle druckt.

Nun habe ich die Lösung für diese Übung:

public static void main(String[] args){
    char c = args[0].charAt(0);
    char c1 = (char)(c + 1);
    System.out.println(c + "\t" + c1);
}

Ich verstehe die Grundidee dieses Codes, aber ich versuche, diesen Code in Eclipse auszuführen. Ich bekomme einen ärgerlichen Fehler:

Ausnahme im Thread "main" Java.lang.ArrayIndexOutOfBoundsException: 0 bei MainClass.main (MainClass.Java:9)

Hinweis: Ich muss noch ein Java-Programm ausführen, das tatsächlich etwas als Parameter erhält. Ich denke, es ist ein dummer Anfängerfehler. Hier ist der vollständige Code, den ich in Eclipse kompilieren wollte:

public class MainClass {

    /**
     * @param args
     */

    public static void main(String[] args){
        char c = args[0].charAt(0);
        char c1 = (char)(c + 1);
        System.out.println(c + "\t" + c1);
    }
}

Danke im Voraus

9
Robert777
  • Wählen Sie "Run -> Run Configurations" aus dem Menü. 
  • Suchen Sie in der Liste links nach Ihrem Projekt und wählen Sie es aus.
  • Wählen Sie rechts die Registerkarte "Argumente".
  • Schreiben Sie das Argument, das Sie an das Programm übergeben möchten, in "Programmargumente".
  • Klicken Sie auf "Ausführen".
10
alexander.egger

Klicken Sie im Projekt-Explorer Ihres Eclipse mit der rechten Maustaste auf Ihre Java-Datei. Dann Ausführen als> Konfiguration ausführen

enter image description here Dann erhalten Sie ein Fenster. Mögen- 

enter image description here

Klicken Sie auf Argumente-Registerkarten, und schreiben Sie dort Text, möglicherweise ein Zeichen. 

Klicken Sie anschließend auf die Schaltfläche Übernehmen und Ausführen. 

6
rokonoid

Die Standardkonfiguration für den Lauf in Eclipse führt ein Java-Programm ohne Argumente aus, daher die Variable ArrayIndexOutOfBoundsException. Ihr Code versucht, das erste Element des args-Arrays abzurufen, wenn es keine gibt!

Sie können die Laufkonfiguration bearbeiten, um die Argumente für die Ausführung Ihres Programms anzugeben. Dann sollte diese Ausnahme nicht ausgelöst werden.

Es empfiehlt sich jedoch, die Größe des Arrays zu überprüfen, bevor auf die Elemente zugegriffen wird. Dies gilt insbesondere, wenn das Array als Argument außerhalb des Codes erscheint.

3
Abhinav Sarkar

Dies ist eine großartige Frage mit einigen sehr guten Antworten. Ich möchte einige Hinweise zum Debuggen Ihres eigenen Programms hinzufügen. Das Debuggen ist genauso wichtig (wenn nicht wichtiger) als das Schreiben von Code.

Zum einen verfügt Eclipse über einige großartige Debugging-Funktionen. Sie können diesen Debugger verwenden, um Probleme in Ihrem Code zu finden. Ich schlage vor, dass Sie lernen, wie man es benutzt. Insbesondere können Sie Überwachungen für Variablen festlegen, um zu sehen, welchen Wert sie haben, wenn Sie die Ausführung Ihres Codes durchgehen.

Alternativ können Sie Aufrufe von System.out.println() hinzufügen, um die Werte beliebiger Variablen auszudrucken. Wenn Sie beispielsweise die folgende Zeile am Anfang Ihres Codes hinzufügen, können Sie das Problem eingrenzen:

System.out.println(args[0]);

Dies würde auch eine ArrayIndexOutOfBoundsException ergeben, wenn keine Befehlszeilenargumente angegeben werden. Dann könntest du sowas machen

System.out.println(args.length);

was würde 0 ausgeben. Dies gibt Ihnen einen Hinweis darauf, wo das Problem liegt.

Selbst wenn Sie an diesem Punkt angelangt sind, wissen Sie natürlich immer noch nicht, wie Sie das Problem lösen können. Hier sind Sites wie StackOverflow von Nutzen.

Viel Glück mit Ihrer Java-Erfahrung. Bitte kommen Sie zurück, wenn Sie weitere Hilfe benötigen.

0
Code-Apprentice

Wenn Ihre Laufkonfigurationen vorhanden sind (wie bereits in den Antworten oben gezeigt):

Die Verknüpfung zum Ausführen einer Klasse lautet:

Strg + F11

0
Virtual