Scanner -> Zahl lesen und weiter verwenden

schlomm

Mitglied
Hallo alle zusammen,
Ich bin gerade dabei meine Java Fähigkeiten etwas zu trainieren, die sich noch auf Grundlagen beschränken. Das soll sich aber nun aber ändern.

Nun denn: Ich hab es mir zur Aufgabe gemacht, ein kleines Rechenprogramm zu schreiben. Abgewandelt aus einem Übungsbuch (Grundkurs Programmieren in Java) möchte ich mehrere Werte von einer Konservendose ausrechnen. Von der Übung her ist es gedacht, Umfang und Höhe als Variable im Quelltext sofort zu definieren. Ich würde diese allerdings gerne über die Konsole eingeben können. Aber genau das ist mein Problem: Ich bekomme garnichts über die Console ausgegeben.

Über jede Art von Anregung wäre ich sehr dankbar!
Ist es vllt garnicht möglich mit der eingegebenen Zahl zu rechnen?

Im folgenden mein Code (das auskommentierte ist die Version aus dem Buch; sprich mit vordefinierten Werten)

[Java]
package uebungen_Kapitel_4;

import java.lang.Math;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class A4_15_Raviolita {
public static void main(String[] args, String name) throws IOException {
double PI = 3.141592;
//
// double u, h;

// // Werte definieren
// u = 30.0; // Umfang der Dose
// h = 15.0; // Höhe der Dose

// // Berechnungen durchführen
// double d = u / PI; // Durchmesser des Bodens
// double f = PI * Math.pow((d / 2), 2); // Fläche des Dosenbodens
// double m = u * h; // Mantelfläche der Dose
// double g = 2 * f + m; // Gesamtfläche der Dose
// double v = f * h; // Volumen der Dose

// // Ausgaben erzeugen
// System.out.println("Umfang der Dose ist " + u + " und die Höhe " + h);
// System.out.println("Durchmesser ist d: " + d);
// System.out.println("Fläche des Dosenbodens ist: " + f);
// System.out.println("Mantelfläche der Dose ist: " + m);
// System.out.println("Gesamtfläche der Dose ist: " + g);
// System.out.println("Volumen der Dose ist: " + v);


Scanner sc1 = new Scanner(System.in);
System.out.print("Wie groß soll der Umfang der Dose sein?");
double umfang = sc1.nextDouble();

Scanner sc2 = new Scanner(System.in);
System.out.print("Wie hoch soll die Dose sein?");
double hoehe = sc2.nextDouble();



// Berechnungen durchführen
double d = umfang / PI; // Durchmesser des Bodens
double f = PI * Math.pow((d / 2), 2); // Fläche des Dosenbodens
double m = umfang * hoehe; // Mantelfläche der Dose
double g = 2 * f + m; // Gesamtfläche der Dose
double v = f * hoehe; // Volumen der Dose



// Ausgaben erzeugen
System.out.println("Umfang der Dose ist " + umfang + " und die Höhe " + hoehe);
System.out.println("Durchmesser ist d: " + d);
System.out.println("Fläche des Dosenbodens ist: " + f);
System.out.println("Mantelfläche der Dose ist: " + m);
System.out.println("Gesamtfläche der Dose ist: " + g);
System.out.println("Volumen der Dose ist: " + v);

}
}
[/code]
 
Zuletzt bearbeitet:

Camill

Bekanntes Mitglied
Java:
public static void main(String[] args, String name)

Das ist keine gültige Main, wofür der zweite Parameter?
 

schlomm

Mitglied
Heiheiheihei....was soll ich dazu noch groß sagen.
Ich danke vielmals für die schnelle Hilfe :)
Klappt jetzt wunderbar:)

Eine Frage habe ich noch. Ich war vorhin so verzweifelt, dass ich selbiges auch mit einem bufferedReader ausprobiert habe. Kann mir da mal wer grob kurz den Unterschied bzw Vor und Nachteile erläutern? Die Scanner klasse ist natürlich weitaus "noobfreundlicher" :D

Grüße:)
 

schlomm

Mitglied
Japp....dass man die Eingaben dann auf vielen verschiedenen Möglichkeiten parsen kann (und noch vieles vieles anderes, was ich noch nicht so verstanden habe :D) habe ich auch gesehen.
Aber irgendwo muss ich doch einen Vorteil gegenüber des bufferedReaders geben, oder?

Du sagtest, dass man nicht für jede Eingabe einen neuen Scanner erzeugen muss?!
Wäre was Feines! Gibt's da ein Beispiel?


Grüße!
 
Zuletzt bearbeitet:

pzypher

Aktives Mitglied
Japp....dass man die Eingaben dann auf vielen verschiedenen Möglichkeiten parsen kann (und noch vieles vieles anderes, was ich noch nicht so verstanden habe :D) habe ich auch gesehen.
Aber irgendwo muss ich doch einen Vorteil gegenüber des bufferedReaders geben, oder?

Genau das ist eigentlich der Vorteil

Du sagtest, dass man nicht für jede Eingabe einen neuen Scanner erzeugen muss?!
Wäre was Feines! Gibt's da ein Beispiel?

Java:
        Scanner sc1 = new Scanner(System.in);

        System.out.print("Wie groß soll der Umfang der Dose sein?");
        double umfang = sc1.nextDouble();
        
        System.out.print("Wie hoch soll die Dose sein?");
        double hoehe = sc1.nextDouble();

Du benötigst nur einen Scanner, mit dem kannst du dann alle Eingaben einlesen.
 

schlomm

Mitglied
Ah...vielen Dank!
Kann man im Groben denn sagen, dass man den bufferedReader dann außer Acht lassen kann? In meinen Augen ist der Scanner sehr viel schöner.
Oder gibt es beim bufferedreader was, was der Scanner nicht kann bzw was sind dessen Vorteile?


Grüße!
 

Fant

Bekanntes Mitglied
Der BufferedReader liest nicht Zeichenweise, sondern schnappt sich nach Möglichkeit immer größere Brocken. Beim einlesen von Text aus einer Datei kann das wesentlich effizienter sein. Wenn man aber nur ein paar Zeichen über die Konsole eintickert, dann muss man sich über sowas aber keine Gedanken machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Scanner negative zahl einlesen und verwenden. Java Basics - Anfänger-Themen 6
Q Scanner auf eine Zahl beschränken Java Basics - Anfänger-Themen 2
B Java Scanner Zahl einlesen Java Basics - Anfänger-Themen 4
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
M Scanner Input mit if überprüfen Java Basics - Anfänger-Themen 5
D Scanner Java Basics - Anfänger-Themen 2
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
T scanner eingaben erkennen und umtauschen Java Basics - Anfänger-Themen 4
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
H Scanner nextLine() bringt Dateipfad Java Basics - Anfänger-Themen 1
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
I Scanner Loop Java Basics - Anfänger-Themen 1
J Scanner cannot be resolved to a type Java Basics - Anfänger-Themen 3
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
J Erste Schritte Scanner Java Basics - Anfänger-Themen 4
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
javapingu Endlosschleife bei User Input mit try Scanner Java Basics - Anfänger-Themen 7
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
Poppigescorn Arrayliste Mittels Scanner erweitern Java Basics - Anfänger-Themen 6
Jan_x8 Timer/Scanner Java Basics - Anfänger-Themen 5
M Scanner Klasse Java Basics - Anfänger-Themen 4
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
H Quellcode Scanner Klasse Java Basics - Anfänger-Themen 2
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 5
S Scanner soll Groß-/ Kleinschreibung ignorieren Java Basics - Anfänger-Themen 2
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
J Scanner-Klasse Java Basics - Anfänger-Themen 2
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
G Scanner nutzen und Index auslesen Java Basics - Anfänger-Themen 8
N Problem mit Scanner Java Basics - Anfänger-Themen 2
V Ersätze für Java-Scanner Java Basics - Anfänger-Themen 9
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
A Scanner-Error Java Basics - Anfänger-Themen 8
D Java Scanner Java Basics - Anfänger-Themen 9
M String in Scanner einlesen Java Basics - Anfänger-Themen 6
N Eingabe Kommazahlen über Scanner Java Basics - Anfänger-Themen 2
ZH1896ZH Verstehe verschieden Scanner und hasNext() nicht ganz Java Basics - Anfänger-Themen 2
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
I Scanner auf 10 Stellen begrenzt? Java Basics - Anfänger-Themen 5
B Barcode Scanner Java Basics - Anfänger-Themen 3
V Wie lasse ich die for-Schleife so oft laufen wie per Scanner angegeben? Java Basics - Anfänger-Themen 3
L Scanner schließen in While-Schleife? Java Basics - Anfänger-Themen 2
S Scanner Java Basics - Anfänger-Themen 36
S Frage zu Scanner Java Basics - Anfänger-Themen 3
cpt.Tomato Scanner problem mit Passwort Login Java Basics - Anfänger-Themen 3
O Scanner Klasse Java Basics - Anfänger-Themen 8
M java.util.scanner Fehler Java Basics - Anfänger-Themen 5
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
W Eclipse Che Scanner Java Basics - Anfänger-Themen 8
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
X Erste Schritte Problem mit scanner Java Basics - Anfänger-Themen 2
A Scanner.useLocale(Locale.US); Java Basics - Anfänger-Themen 4
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6
I Scanner und Arrays Java Basics - Anfänger-Themen 2
M Scanner-Eingabe nach gewissem Zeitraum überprüfen Java Basics - Anfänger-Themen 2
Neoline Methoden Scanner Methode Java Basics - Anfänger-Themen 9
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
A Java Scanner Funktioniert nicht Java Basics - Anfänger-Themen 2
B Vom scanner in ein Arraylist Java Basics - Anfänger-Themen 7
L Scanner Ausgabe Java Basics - Anfänger-Themen 37
S Zeilenumbruch mit Scanner erkennen Java Basics - Anfänger-Themen 9
O Erste Schritte Scanner mehrere male benutzen (Konsole) Java Basics - Anfänger-Themen 7
W Wie arbeite ich mit dem Typ Scanner? Java Basics - Anfänger-Themen 5
J Input/Output Scanner Input als etwas einsetzen Java Basics - Anfänger-Themen 3
R CMDTools Scanner Fehler Java Basics - Anfänger-Themen 10
D nextInt() nicht für Scanner definiert? Java Basics - Anfänger-Themen 2
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
F Scanner Problem Java Basics - Anfänger-Themen 8
T Variablen Array mit Scanner befüllen Java Basics - Anfänger-Themen 6
C Java Scanner einlesen von txt Dokument InputMismatch Java Basics - Anfänger-Themen 9
b1ck Scanner schließen, erneute Verwendung Java Basics - Anfänger-Themen 12
F Scanner - nextLine() gibt leeren String zurück Java Basics - Anfänger-Themen 2
T Problem mit Scanner. Java Basics - Anfänger-Themen 4
J Methode über Scanner aufrufen Java Basics - Anfänger-Themen 15
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
Silvascus Scanner Problem Java Basics - Anfänger-Themen 5
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
TheMenox Error bei Scanner - woher? Java Basics - Anfänger-Themen 14
D Fehler bei String eingabe via Scanner Java Basics - Anfänger-Themen 6
F Problem do while Schleife und Scanner Java Basics - Anfänger-Themen 2
O POI Apache sheet scanner Java Basics - Anfänger-Themen 1
A regulären Ausdruck mit Hilfe der Klasse Scanner in einem String finden Java Basics - Anfänger-Themen 2
F Array mit Scanner-Werten Java Basics - Anfänger-Themen 4
M Input/Output Scanner schließt nicht Java Basics - Anfänger-Themen 2
M Scanner class Java Basics - Anfänger-Themen 6
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
S Array mit "foreach"-Schleife und nextInt (aus Scanner) beschreiben Java Basics - Anfänger-Themen 6
G Strings mit Scanner (nextLine) einlesen Java Basics - Anfänger-Themen 7
S Sonderzeichen '|' (u007C) mit Scanner einlesen Java Basics - Anfänger-Themen 1
T Scanner lässt sich nicht importieren Java Basics - Anfänger-Themen 1
R scanner in String funktioniert nicht Java Basics - Anfänger-Themen 1
P scanner ein Double einlesen Java Basics - Anfänger-Themen 10
A InputMismatchException mit Scanner Java Basics - Anfänger-Themen 6
J scanner, String einlesen und vergleichen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben