Double.parseDouble(args[0])

Thisor

Bekanntes Mitglied
Hey!
In dem Programm sollen die Übergabemöglichkeit von Parametern genutzt werden. Dem Programm soll als Parameter der Radius für den zu berechnenden Kreis übergeben werden, damit für einen beliebigen Kreisradius der Umfang und die Fläche berechnet werden können:

Code:
/*Kreisberechnung: Für einen Kreis werden der Umfang und der
*Flächeninhalt berechnet.
*Der Kreisradius wird beim Programmstart als Parameter
*übergeben
*/

public class Kreisberechnung2 {
    public static void main(String[] args){
double radius;
double umfang, inhalt;
radius = Double.parseDouble(args[0]);
umfang = 2.0 * 3.1415926 * radius;
System.out.println("Umfang: ");
System.out.println(umfang);
System.out.println("Flaeche: ");
System.out.println(inhalt);
    }
}

Ich verstehe nicht mal die Aufgabe..
Wenn ich in der Zeile
Code:
radius = Double.parseDouble(args[0]);
ein Parameter eingebe, zum Beispiel Umfang, dann sagt mir das Programm "double cannot converted to String. Mit einem String kann ich doch aber gar nicht rechnen? *grümel*
 
Shell ist args[0]?
Habe jetzt 2.0 eingegeben und dann kommt "Note: Some messages have been simplified; recompile with -Xdiags:verbos Full output"
 
Wie hast du dein Programm denn genau aufgerufen ? Schreibe das mal hier hin

Und ausserdem fehlt in deinem Programm die Berechnung der Fläche
 
Mehr gibt´s nicht. Das ist alles =o
Edit: Ist eine Aufgabe von einem Buch, und da wurde noch nichts genau Definiert. Das steht aber dazu:
Es handelt sich schließlich noch nicht um Übungen zur Entwicklung von JavaProgrammen, sondern um Übungen zur Handhabung von Compilern und Interpreter. Gleichzeitig sollen einige typische Featurs (wie die Parameterübergabe beim Programmstart und die Ausgabe grafischer Fenster) demonsiert werden.
 
Wie mehr gibts nicht ? Wenn du die Parameterübergabe beim Programmstart üben sollst dann musst du dein Programm auch mal mit Parameter aufrufen !! Und diesen Aufruf müsste man sehen um zu beurteilen was du falsch machst. Das Programm selber ist richtig (bis auf die fehlende Flächenberechnung)
 
Ich bekomme als Fehlermeldung das ein String erwartet wird, egal ob ich Werte manuell eingebe oder die Variablen. Hinzu kommt das ich die Logik nicht verstehe wie das überhaupt gehen soll, da "radius" der erste Code ist und wenn ich das Programm starte, kennt es bis dahin doch keinen Parameter, da noch nichts Initialsiert worden ist.


Im Buch ist halt nichts mehr zu dieser Aufgabe gegeben. Alles was drin steht, steht im ersten Post!!
 
Du hast das glaube ich noch nicht verstanden. Wie startest du deine Programm ? In Eclipse oder in NetBeans oder wie ? Dort wo du es startest musst du den Parameter eingeben !! Und das was du da angibst steht dann in args[0] ..... Du musst nichts im Programm selber machen, das bleibt einfach so wie es ist.
 
Das Programm, jetzt gerade, wird/soll weder in Eclipse noch in Netbeans laufen sondern über die Eingabeaufforderung von Windows, wenn man da cmd eingibt kann man ja Pfade eingeben etc und so kann man ja auch Programme laufen lassen.
Normalerweise arbeite ich mit Eclipse, wenn ich das Programm in Eclipse rein schreibe, tretet genau derselbe Fehler auf.

Ja, das steht in args[0], also, ich soll args[0] mit einem Parameter ersetzen, richtig?
In dem Fall mit was? Ich habe eine Zahl eingegeben, Umfang eingegeben, und bei beiden Fällen tritt "double cannot convert to String" auf.
Wenn ich es immer noch nicht checke, klär mich bitte auf!
 
Nein !!! Du sollst das Programm mit dem Parameter 10 z.B. aufrufen und hier den Aufruf posten ! Schreibe doch endlich mal hier hin wie du dein Programm im Command-Window aufrufst !!!!
 

Zurück
Oben