Java-Neuling Geschrieben 13. Oktober 2009 Geschrieben 13. Oktober 2009 Hye All! Mein Junior beginnt in der Schule gerade mit Java und hat unten stehenden Code von der Tafel abgeschrieben. Wir haben nun das JDK herunter geladen und ein kleines Programm erfolgreich getestet, etc. aber bei diesem Programm "Kreis" funktioniert der Befehl radius = console.read double ("Radius: "); nicht! ==>> Bitte um Info: Wie schreibt man den Befehl korrekt? Habe schon Vieles ausprobiert und gegoogelt ... aber ohne Erfolg. Bin selbst kein Programmierer (habe vor 20 Jahren mal kurz Pascal gelernt aber das war's auch schon) sondern mitlernender Daddy ... D A N K E ! -------------------------------------------------------------- public class Kreis { public static void main (String[] args) { double radius; double flaeche; radius = console.read double ("Radius: "); flaeche = radius*radius*Math.PI; System.out.println (" Gewaehlter Radius [m]: " +radius); System.out.println (" Kreis-Flaeche [m2]: " +flaeche); } } ----------------------------------------------------------- Zitieren
kingofbrain Geschrieben 13. Oktober 2009 Geschrieben 13. Oktober 2009 Da wird Dein Junior wahrscheinlich nicht alles mitgeschrieben haben. Es sind auch gleich mehrere Fehler im Quellcode. Die Methode wird nicht "read double" heißen, sondern wahrscheinlich "readDouble". Im JDK gibt es keine Klasse "console", deshalb schätze ich, in der Schule verwenden sie eine Hilfsklasse namens "console" mit der statischen Methode readDouble(String) (-> höchst unschön, weil der Klassenname gegen Java Konventionen verstößt), oder es gibt in der Schule in der Klasse mit der main-Methode eine Instanzvariable (oder Klassenvariable) namens "console" mit der genannten Methode (nicht statisch, die bessere Variante). Peter Zitieren
Dragon8 Geschrieben 13. Oktober 2009 Geschrieben 13. Oktober 2009 Also zum einen dürfte es nicht funktionieren, weil in einem Funktionsnamen keine Leerzeichen enthalten sein dürfen. Das heißt, der Funktionsname müsste eher "readdouble()" oder "read_double()" heißen. Zum anderen gibt es in der Standardbibliothek von Java die Bezeichnung "console" nicht. Ich denke mal, da das Einlesen von Werten aus der Kommandozeile für Anfänger nicht gerade trivial ist, dass dies eine Klasse sein wird, die in der Schule deines Sohnes zur Verfügung gestellt wird. Das wiederrum bedeutet, solange ihr die Klassen dafür nicht mit nach Hause bekommen habt, wird der Quelltext bei euch zu Hause auch so nicht funktionieren. Zitieren
Java-Neuling Geschrieben 13. Oktober 2009 Autor Geschrieben 13. Oktober 2009 Herzlichen Dank, kingofbrain und Dragon8 ! Die Erklärungen sind (sogar für mich ;-) verständlich. Ich habe es mit radius = 10 probiert und das funktioniert dann (für Euch sicher logisch "no na ned", für mich ein schöner Erfolg). Habe dann auch zwischenzeitlich von einem im Netz gefundenen "Hilfsprogramm" abgeschrieben - natürlich ohne es genau zu verstehen - aber die Eingabe funktioniert nun (wie unten angeführt). Aber dieser "Scanner" funktioniert nur mit der Eingabe von ganzen Zahlen. Gibt es eine Funktion, die auch die Eingabe von Zahlen mit Kommastelle erlaubt?? Wie müsste man das schreiben??? DANKE nochmals! Das funktioniert für die Eingabe von GANZEN Zahlen: ------------------------------------------------------------ import java.util.Scanner; import java.io.IOException; public class Kreisiges_3 { public static void main (String[] args) throws IOException { double radius; double flaeche; Scanner scanner = new Scanner(System.in); System.out.println ("Bitte Radius [m] eingeben (nur ganze Zahlen erlaubt): "); radius = scanner.nextInt(); flaeche = radius*radius*Math.PI; System.out.println (" Gewaehlter Radius [m]: " +radius); System.out.println (" Kreis-Flaeche [m2]: " +flaeche); } } ------------------------------------------------------------ Zitieren
kingofbrain Geschrieben 13. Oktober 2009 Geschrieben 13. Oktober 2009 Servus nochmal, hier mal Deine Lieblingsseite der nächsten Zeit, sofern Du mit Java weitermachen willst: Java Platform SE 6 Dort findest Du die Dokumentation zu den Klassen im JDK 6 (wenn Du ein anderes verwendest, einfach nach der passenden Doku suchen). Enthalten ist natürlich auch die Dokumentation der Klasse Scanner (damit Du Dein abgetipptes Beispiel verstehst) und deren Methoden (z.B. nextDouble()), damit Du auch Fließkommazahlen berechnen kannst. Viel Spaß (einmal programmieren, immer programmieren, oder? )! [EDIT] Ach ja, für die nächsten Posts kannst Du die schönen CODE-Tags verwenden, damit Dein Quellcode auch gut lesbar ist. [/EDIT] Peter Zitieren
Java-Neuling Geschrieben 13. Oktober 2009 Autor Geschrieben 13. Oktober 2009 Servus Peter, werde mir das mal anschauen - und Du hast richtig erkannt, das Programmieren reizt mich jetzt wirklich ein wenig ... werde beim Thema also sicher mit dabei bleiben! ... :-)) Ich werde den Benutzer "Java-Neuling" auch an meinen Junior weiter geben, da kann er sich zukünftig bei Fragen dann im Forum auch selbst direkt einwählen. Schönen Tag noch! Tom Zitieren
flashpixx Geschrieben 13. Oktober 2009 Geschrieben 13. Oktober 2009 Ich empfehle als Online-Literatur Galileo Computing :: Java ist auch eine Insel (8. Auflage) Aber ich würde jedem Anfänger auch ein entsprechendes Buch an Herz legen Zitieren
Java-Neuling Geschrieben 13. Oktober 2009 Autor Geschrieben 13. Oktober 2009 Vielen Dank für den Tipp, flashpixx! Habe das Werk bereits down geloaded und es ist wirklich super zu verstehen! Auch die darin enthaltenen Beispiele sind sehr wertvoll. Das "Kreis-Programm" ist inzwischen toll gewachsen (mit mathemat. Runden der ausgegebenen Werte, Fehlerausgabe wenn eine negative Zahle eingegeben wird, etc.) ... macht Spaß, sich im Urlaub damit zu befassen! (Wenn der Nachwuchs heute von der Schule nach Hause kommt wird er Augen machen :-))) LG tom Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.