Java: Einfache Eingaben können nicht gelesen werden

Hinweis: In dem Thema Java: Einfache Eingaben können nicht gelesen werden gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Guten Abend :)


    Ich fange gerade an, Java zu lernen. Wenn ich versuche, unter openSuse 12.3


    Code
    class test{
            public static void main(String[] arg) {  int zahl = In.readInt();}}


    zu kompilieren, gibt javac folgende Fehlermeldung aus:


    Code
    ./test.java:4: error: cannot find symbol int zahl = System.in.readInt();                          ^  symbol:   method readInt()  location: variable in of type InputStream1 error



    Mit der Methode System.Out() funktioniert aber alles bestens.
    Woran liegt das? Ich bin inzwischen ratlos :(



    Viele Grüße,
    ancistrus


    edit: Entschuldigt bitte, dass die Code-Sequenzen so unübersichtlich sind. Mehrfache Versuche, Absätze einzufügen, sind gescheitert :D

    Für den Inhalt des Beitrages 61120 haftet ausdrücklich der jeweilige Autor: ancistrus

  • Eingaben werden in Java normalerweise (zumd. ist das AFAIK die einfachste Variante) mit der Klasse Scanner gelesen:


    ___________________________________________________________________________________
    Zypper Befehlsreferenz

    Für den Inhalt des Beitrages 61142 haftet ausdrücklich der jeweilige Autor: lush

  • Oder falls du wirklich nur einmal einen Wert einlesen willst, kannst du es auch gleich so umsetzen:


    Code
    int val = (new Scanner( System.in ) ).nextInt();

    ___________________________________________________________________________________
    Zypper Befehlsreferenz

    Für den Inhalt des Beitrages 61144 haftet ausdrücklich der jeweilige Autor: lush

  • Vielen Dank, darüber habe ich auch schon viel gelesen. Überhaupt wird in den meisten Fällen auf andere Techniken verwiesen, Eingaben einzulesen :D
    Inzwischen habe ich mir auch eine Klasse readInt() geschrieben, die meine Anforderungen mit BufferedReader erfüllt.


    Das einzige Problem ist nur: In meinem Lehrbuch (Sprechen Sie Java?) und den Vorlesungen wird es eben per In.readInt() gemacht ;D
    Müsste das dann nicht auch irgendwie funktionieren?


    Grüße,
    ancistrus

    Für den Inhalt des Beitrages 61156 haftet ausdrücklich der jeweilige Autor: ancistrus

  • Also die Variante habe ich wirklich noch nie gesehen, und die benutzt auch definitiv _niemand_.


    Laut API existiert die Funktion nicht einmal? 8|
    Ich würde bei Scanner, oder bei BufferedReader/InputStreamReader bleiben..

    ___________________________________________________________________________________
    Zypper Befehlsreferenz

    Für den Inhalt des Beitrages 61178 haftet ausdrücklich der jeweilige Autor: lush

  • Vielen Dank, darüber habe ich auch schon viel gelesen. Überhaupt wird in den meisten Fällen auf andere Techniken verwiesen, Eingaben einzulesen :D
    Inzwischen habe ich mir auch eine Klasse readInt() geschrieben, die meine Anforderungen mit BufferedReader erfüllt.


    Das einzige Problem ist nur: In meinem Lehrbuch (Sprechen Sie Java?) und den Vorlesungen wird es eben per In.readInt() gemacht ;D
    Müsste das dann nicht auch irgendwie funktionieren?


    Grüße,
    ancistrus

    Bestimmt verwendet das Lehrbuch eine oder mehrere Hilfsklassen, die auf einer beiliegenden CD sind oder man aus dem Internet laden kann. Schau mal in der Einleitung des Buches, ob da sowas steht.

    Für den Inhalt des Beitrages 62331 haftet ausdrücklich der jeweilige Autor: Monika