All pastes #940355 Raw Edit

Zeug

public text v1 · immutable
·published 2008-03-12 22:16 UTC
rendered paste body
Es führen bekanntlich viele Wege nach Rom und demensprechend auch viele Wege in ein Programm hinein. Ich stelle hier zunächst einmal zwei Wege vor, wenn wir die Datentypen kennengelernt haben, werden wir die Sammlung um eine dritte Möglichkeit erweitern.

   1.

      Möglichkeit 1, Variante 1 (knapp und brutal):
      Nur zur Eingabe von einzelnen Zeichen.
   2.

      Möglichkeit 1, Variante 2 (mit etwas mehr Feingefühl, dafür auch etwas umständlicher)
      Nur zur Eingabe von einzelnen Zeichen.
   3.

      Möglichkeit 2 (die saubere professionelle Art, aber auch aufwendig)
      Auch zur Eingabe von längeren Zeichenfolgen geeignet.

Die Möglichkeit 1 kann zur Steuerung von Auswahlmenüs dienen bei denen in der Regel nur ein einzelnes Zeichen einzugeben ist. Die Möglichkeit 2 ist das Mittel der Wahl, wenn auch längere Zeichenfolgen eingegeben werden sollen.
Aufgabenstellung:

Integrieren Sie alle drei Varianten, ein Zeichen einzugeben, in einem Programm. Das Programm soll die eingegebenen Zeichen wieder ausgeben, zusammen mit einem Kommentar, in welcher Weise die jeweiligen Zeichen entgegengenommen wurden.

Der Dialog könnte sich z.B. so präsentieren

java beispiel

Eingabe:  g
g
Eingabetechnik: System.in.readln() OHNE Ausnahmebehandlung

Eingabe:  x
x
Eingabetechnik: System.in.readln() MIT Ausnahmebehandlung

Eingabe:  h
h
Eingabetechnik: BufferedReader



Hinweis:
Ein paar Hinweise zu einer eleganten Lösung:
Das Objekte "System" taucht in der JavaDoc auf.
Es hat ein Feld namens "in" der Klasse "InputStream".
Schaut euch doch mal die Methoden dieser Klasse "InputStream" an, das könnte weiterhelfen.


Antwort:	
Ein Problem das Sie hier haben besteht darin, daß Sie ein Objekt des BufferedReader überall verwenden. Das ist nicht spezifikationsgemäß.
Sie haben das BufferedReader Objekt "In" (großgeschrieben) benannt.
Hätten Sie stattdessen auf das Objekt "in" (kleingeschrieben) der Klasse InputStream verwendet, wäre alles in Butter gewesen.
Sie haben das Problem gelöst, nur leider haben Sie die geforderten Techniken gemischt. Verbesserungen möglich.