0 Daumen
2,3k Aufrufe

Ich bin Neuling im Programmieren und verstehe den Fehler in dem Code nicht wirklich.

public class Bughunt01 {

    public static void main(String[] args) {

        double t = Double.parseDouble(args[0]);

        double result = Math.sin(2*t) + Math.sin(3*t);

        System.out.println(result);

  }

}


Wenn ich das Programm ausführen will, kommt folgende Fehlermeldung:´

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

    at Bughunt01.main(Bughunt01.java:13)
Avatar von

1 Antwort

+1 Daumen

Das liegt daran, dass Du dem Programm keinen Wert übergibst (args ist dann leer und args[0] verursacht das Problem). Du musst beim Programmaufruf den Wert mitgeben, den Du parsen möchtest.

Avatar von

Danke für die Antwort :)
Wie erwähnt bin ich aber blutige Anfängerin und verstehe es immer noch nicht wirklich. Muss ich hinter dem String in der Main Methode einfach eine Zahl einsetzen und die wiederhole ich dann bei args[0]?

Hier gibt es zwei Optionen:

1.) Du rufst das Programm über die Konsole auf:

java <Dein Programm> <Deine Zahl, die in args[0] steht> 

2.) Du arbeitest mit Eclipse. Dann drückst Du auf den schwarzen Pfeil neben dem grünen Play-Button, wählst "Run Configurations..." aus und trägst im Reiter "Arguments" Deine gewünschte Zahl im Feld unter "Program arguments" ein.

Weitere Fragen dann bitte zukünftig über Deinen Account stellen, um direkt kommentieren zu können.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community