Unterschiede zweier System.in Varianten

Status
Nicht offen für weitere Antworten.

pavelle

Mitglied
Hallo zusammen,

kann mir jemand den Unterschied zwischen folgenden, system.in Varianten nennen?

Java:
import java.util.Scanner;

public class schmierzettel3 {


    public static void main(String[] args) {

    Scanner eingabe = new Scanner(System.in);

    String name;
    short alter;


        System.out.println("Wie heißen Sie?");
        name = eingabe.next();
        System.out.println("Geben Sie ihr Alter ein");
        alter = eingabe.nextShort();

  }
}


Java:
import java.io.*;

public class eingabe {

 
    public static void main(String[] args) throws IOException {

        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader bReader = new BufferedReader (isr);

        System.out.println();


        System.out.println("Geben Sie den Radius an (in cm): ");
        String eingabe_radius = bReader.readLine();
        System.out.println("Geben Sie die Hubhöhe an (in cm): ");
        String eingabe_hubhoehe = bReader.readLine();


Beide Eingaben liefern das gleiche Resultat, nur wo liegt jetzt der Unterschied?
was genau macht der BufferedReader? Speichert bzw puffert er den Eingabewert?; für welchen Zweck?
Welches der beiden Eingabe Varianten, ist wann besser geeignet?


Vielen Dank,
Daniel
 
G

Gastredner

Gast
Der Scanner liest, wenn ich mich gerade richtig erinnere, immer nur ein Token ein, während der BufferedReader die gesamte Zeile einliest.
Würdest du als Name also "Max Mustermann" angeben, würde dir der Scanner mit next() nur "Max" liefern, während der BufferedReader dir "Max Mustermann" liefern würde.
Der Scanner hat dafür den Vorteil, dass er Eingaben nicht nur als String, sondern halt auch direkt als short, int oder als anderen primitiven Datentyp zurückgeben kann, was einem das Parsen sparen kann.
 
S

SlaterB

Gast
> Speichert bzw puffert er den Eingabewert?; für welchen Zweck?

zur Performance-Steigerung, jeder Zugriff auf eine evtl. weitentferne Quelle dauert einer gewisse Zeit,
lieber ganz viel auf einmal lesen und dann aus dem internen Arbeitsspeicher die einzeln abgefragten Daten bestimmen

bei System.in ist das allerdings recht nebensächlich, wenn dagegen 5 MB aus einer Datei eingelesen werden,
kann man ohne Buffer evtl. unnötig langsamen Code produzieren
(Scanner hat übrigens intern auch einen Buffer)

der Hauptgrund für BufferedReader dürfte hier schlicht die nette Methode readLine() sein, die ein InputStreamReader nicht hat

--------

Scanner und BufferedReader unterscheiden sich durch ihre Methoden,
BufferedReader liest im wesentlichen ganze Zeilen und sonst nix,

Scanner ist moderner und liest einzelne Strings (durch Leerzeichen getrennt) oder auch Zahlen, die dann automatisch geparst werden,
Scanner ist aber auch komplizierter,
wenn man in obigen Programm nach der ersten Frage "Detlef 599" eintippt und Enter drückt,
werden gleich beide Fragen auf einmal beantwortet, da in der ersten Zeile bereits zwei passende Token vorhanden sind
 

pavelle

Mitglied
hi,
sorry für meine späte Antwort, hatte die letzten Tage Probleme mit dem Internet.
Wollte mich bei euch für Erklärungen bedanken!

liebe Grüße
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Unterschiede zweier Dateien herauslesen Java Basics - Anfänger-Themen 7
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
B Unterschiede in einer Liste erkennen Java Basics - Anfänger-Themen 1
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
U Input/Output Unterschiede Streams Java Basics - Anfänger-Themen 2
R Compiler-Fehler Java Compiler Unterschiede Java Basics - Anfänger-Themen 10
D Viele grafische unterschiede von Windows xp zu Windows 7 Java Basics - Anfänger-Themen 3
S Unterschiede zwischen equals und contains Java Basics - Anfänger-Themen 2
B Erste Schritte Unterschiede bei der Deklaration von Strings Java Basics - Anfänger-Themen 4
B Objekt Vergleich - Unterschiede ausgeben Java Basics - Anfänger-Themen 4
S Unterschiede Netbeans und .jar Java Basics - Anfänger-Themen 4
Dit_ Pixelorientierte Zeichnungen und Vektorgrafiken | Unterschiede Java Basics - Anfänger-Themen 2
K Datentyp vs. Datenstruktur - Unterschiede Java Basics - Anfänger-Themen 13
G Strings vergleichen: Unterschiede erfragen Java Basics - Anfänger-Themen 5
O Vor-/Nachteile/Unterschiede von Konstruktoren und Methoden Java Basics - Anfänger-Themen 3
M wesentliche Unterschiede zwischen Versionen 1.2, 1.3 und 1.4 Java Basics - Anfänger-Themen 2
B String Unterschiede? Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
C Kollision zweier Rechtecke, Schnittpunkte bestimmen Java Basics - Anfänger-Themen 25
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
D Interaktion zweier Objekte Java Basics - Anfänger-Themen 5
J Transformation zweier Integer in ein Double Java Basics - Anfänger-Themen 26
H Gemeinsame Schnittmenge zweier Arrays ausgeben Java Basics - Anfänger-Themen 12
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
K Datentypen Einträge zweier Matrizen vergleichen Java Basics - Anfänger-Themen 4
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
S Vergleich zweier ArrayLists mit Ausgabe an dritte ArrayList Java Basics - Anfänger-Themen 5
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
G Klassen Vergleich zweier Klassen Java Basics - Anfänger-Themen 23
S Implementieren zweier Klassen Java Basics - Anfänger-Themen 5
P Ungerade Zahlen ausgeben lassen zwischen Spannweite zweier eingegeben zahlen Java Basics - Anfänger-Themen 6
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
N Methoden Methode zum Vergleich zweier Geburtstage Java Basics - Anfänger-Themen 5
K Multiplikation zweier Matrizen Java Basics - Anfänger-Themen 23
D Zusammenfassen zweier Programme Java Basics - Anfänger-Themen 3
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
L BufferdImage schwarzes Bild nach zusammenfügen zweier Bilder Java Basics - Anfänger-Themen 8
N Vergleich zweier String Arrays scheitert Java Basics - Anfänger-Themen 3
C Proportionale Abnahme zweier Werte Java Basics - Anfänger-Themen 4
O ArrayListe sortieren anhand zweier Parameter Java Basics - Anfänger-Themen 4
C Inhalte zweier Vektoren vergleichen Java Basics - Anfänger-Themen 3
T Programm, das die Differenz zweier Daten ausgibt Java Basics - Anfänger-Themen 4
S Ermittlung des GGTs zweier Werte Java Basics - Anfänger-Themen 5
Y Erste Schritte Verknüpfung zweier JAVA-Codes Java Basics - Anfänger-Themen 8
A Methoden Gedanken Anstöße zur Realisierung zweier Ideen (Grafisch Sekunden zählen und Frameaufteilung) Java Basics - Anfänger-Themen 18
I Einlese Abfrage zweier Variablen in einem Fenster Java Basics - Anfänger-Themen 6
A Durchschnitt zweier Mengen berechnen Java Basics - Anfänger-Themen 3
G Kombination zweier Befehle (Preis festlegen & Rabatt berechnen) Java Basics - Anfänger-Themen 3
W Methoden größe zweier tiere vergleichen Java Basics - Anfänger-Themen 15
K Schnitt zweier Ebenen ergibt Gerade Java Basics - Anfänger-Themen 10
L vergleich zweier texte Java Basics - Anfänger-Themen 18
B Vergleich zweier Objekte durch "Hashfunktion" Java Basics - Anfänger-Themen 12
J Addition zweier Zahlen Java Basics - Anfänger-Themen 9
J Dimensionen zweier Arrays vergleichen Java Basics - Anfänger-Themen 4
U Größenvergleich / Dimensionsvergleich zweier Matrizen Java Basics - Anfänger-Themen 2
N Datenaustausch zweier rechner Java Basics - Anfänger-Themen 4
turmaline Gleicheit zweier Listen Java Basics - Anfänger-Themen 12
S Print Methode zweier "Classes" kombinieren Java Basics - Anfänger-Themen 2
C Dateiinhalt zweier Dateien auf Gleichheit prüfen Java Basics - Anfänger-Themen 3
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
I Abhängigkeiten zweier Klassen Java Basics - Anfänger-Themen 25
G Vergleich zweier Arrays Java Basics - Anfänger-Themen 8
D Eine Nachkommazahl zweier Double vergleichen Java Basics - Anfänger-Themen 4
N sortieren zweier abhängiger array listen Java Basics - Anfänger-Themen 12
S Addieren zweier Arrays Java Basics - Anfänger-Themen 10
T ermittlung des minimus zweier eingegebener werte Java Basics - Anfänger-Themen 7
G größere zweier zahlen ermitteln und ausgeben Java Basics - Anfänger-Themen 6
G Summe zweier doubles falsch? Java Basics - Anfänger-Themen 10
I Kollision zweier Rechtecke Java Basics - Anfänger-Themen 9
H Genauigkeit beim Multiplizieren zweier Zahlen Java Basics - Anfänger-Themen 2
K Vergleich zweier Objekte in einer HashMap Java Basics - Anfänger-Themen 6
B Zusammenspiel zweier JFrames Java Basics - Anfänger-Themen 2
A Schnitt zweier Rechtecke ermitteln Java Basics - Anfänger-Themen 2
N Vergleich zweier Elemente verschiedener Vectoren Java Basics - Anfänger-Themen 2
G Vergleich zweier 'long'-Werte. Problem! Java Basics - Anfänger-Themen 6
T Inhalte zweier Variablen tauschen Java Basics - Anfänger-Themen 18
U Maximum zweier Zahlen ermitteln Java Basics - Anfänger-Themen 7
N Den Inhalt zweier Strings (Zahlen) addieren Java Basics - Anfänger-Themen 5
S maximum zweier Zahlen Java Basics - Anfänger-Themen 1
D System.out.println Java Basics - Anfänger-Themen 1
O System.out.println wird nicht ausgegeben? Java Basics - Anfänger-Themen 11
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
M Keine Ausführung von System.out.println() Java Basics - Anfänger-Themen 3
O System.out array Java Basics - Anfänger-Themen 4
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
H Befehl wird nicht ausgeführt - System.out.println Java Basics - Anfänger-Themen 3
C system cannot be resolved Fehler in Eclipse Java Basics - Anfänger-Themen 18
S Anweisungen verstehen System.out.print/println Java Basics - Anfänger-Themen 2
B Warum werden meine System.out.println's übersprungen? Java Basics - Anfänger-Themen 9
I System.currentTimeMillis() nutzen Java Basics - Anfänger-Themen 2
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
C System.in.read() Boolsche Werte vergleichen Java Basics - Anfänger-Themen 8
B Input/Output System.out.print mit und ohne "" Java Basics - Anfänger-Themen 5
T System.out.println() Java Basics - Anfänger-Themen 5
M System.property persistieren Java Basics - Anfänger-Themen 6
N (Java) Regristrierung und Login System mit einer Datenbank Java Basics - Anfänger-Themen 5
A Input/Output System.out Ausgabe aktualisieren, ohne Konsole vollzuspamen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben