Tastatureingabe erkennen

Ballon52

Mitglied
Hallo,

ich bin ganz neu bei Java und habe schon ein wenig rumprobiert. Nun wollte ich ein kleines Programm machen, in dem man zwei Tastatureingaben machen kann. Entweder wählt man Antwort a oder Antwort b. Ich habe mich an diesem Quelltext orientiert:

http://www.java-forum.org/thema/cannot-be-resolved-to-a-variable.116886/

Allerdings ist meiner weniger aufwändig. Nun stimmt soweit alles, aber ich bekomme bei dem Input einen Fehler:
char eingabe = Input.readChar();

So sieht meins aus und das Input ist rot unterstrichen. Die Fehlermeldung lautet: "Input cannot be resolved"

Vielen Dank für eure Hilfe.
 
Was ist denn Input ? Probier mal das noch davor zu schreiben:

Code:
        Scanner input = new Scanner(System.in);
Und schreibe input klein, variablen beginnen mit Kleinbuchstabe ...

Edit: Sorry, ich habe gerade bemerkt dass Scanner gar keine Methode readChar() hat. Das was dein Beispielautor da benutzt hat war wohl eine eigene Klasse von der Uni oder der Schule.
Aber du könntest es mal so probieren:

Code:
                char buchstabe = (char)input.nextByte();
 
Zuletzt bearbeitet:
Hallo, danke für die Antwort. Ich habe es mal mit dem letzten Quelltext versucht, aber beim input wird immer noch mit der gleichen Fehlermeldung gemeckert. Dass die Klasse des Beispiels eine eigene ist, wusste ich leider nicht.

Es geht mir eigentlich darum, dass auf dem Bildschirm zwei Möglichkeiten erscheinen. Die eine wird gewählt, indem man a eingibt, die andere, indem man b eingibt. Und dann soll das ganze mit if überprüft werden und die jeweilige Rechnung ausgeführt werden.

Von der Scanner Klasse habe ich auch schon gehört. Kann man die dafür einsetzen?
 
Jetzt habe ich versucht, das über die CMD Konsole auszuführen, allerdings passiert nach der Eingabe der Buchstaben nicht das, was passieren soll. Ich habe nochmal im Quelltext geschaut, dort steht in der Zeile mit

Scanner input = new Scanner(System.in);

Resource leak: 'input' is never closed

Bis dahin führt das Programm auch alles aus. Nach dieser Zeile jedoch akzeptiert es die Eingaben nicht.
 
Aber ich kann mir schon denken was passiert. Du willst ja einen Buchstaben eingeben, nextByte() erwartet aber ein Byte als Zahl und du kriegst wahrscheinlich eine Mismatch-Exception. Mach es mal so:

Code:
char  buchstabe = input.nextLine().charAt(0);
 

Neue Themen


Zurück
Oben