Fehlermeldung bei Java .?

4 Antworten

1. Problem liegt bei "Double.parseDouble(args[0]);
Das bedeutet, dass args[0] nicht zugewiesen wurde.
Benutze lieber eine normale Zahl oder lies eine Zahl mit dem Scanner oder per TextField auf einem JFrame ein.
Tipp:
Statt die Zahl Pi "manuell" zu schreiben, verwenden lieber Math.PI , das ist die offizielle Mathe-Bibliothek von Java.
alex

Die Fehlermeldung bedeutet, dass es den angegebenen Index nicht in dem Array gibt. Da hier als einziges Array das args verwendet wird und du da versuchst, aus dem Index 0 zu lesen, gehe ich mal davon aus, dass keine Argumente übergeben werden und das Array daher leer ist.

Schreib testweise beim Radius einfach mal einen festen Wert rein.

Das Array args beinhaltet die Argumente, die du an das Programm beim Aufruf übergibst. Wenn kein Argument vorhanden, dann kommt es zu einer Exception.

Daher solltest Du zuvor die Länge des Arrays überprüfen um zu sehen, ob es überhaupt ein Argument gibt.

Woher ich das weiß:Berufserfahrung
double radius = Double.parseDouble(args[0]);

Da wird das Problem liegen. Du übergibst der main-Methode ein Array... also ein Feld von Werten. Dieses Feld hat eine bestimmte Länge. Wenn du dein Programm startest musst du ihm Parameter mitgeben, damit in dem Feld "args" auch wirklich was drin steht. Da du das nicht machst, greifst du mit args[0] auf den ersten Eintrag im Feld zurück, was eine ArrrayOutOfBoundsException wirft... also eine Exception, die dann geworfen wird, wenn du auf einen Index zugreifen willst, der gar nicht existiert, weil dein Feld nicht lang genug ist.

Da du mit args[0] auf das erste Element zugreifen willst, kann man daraus folgern, dass args einfach leer ist und du beim Programmstart nichts übergeben hast.