Java Erste Spielereien und die damit verbundenen Probleme eines Anfängers

Weil die eine (ne andere? :think:) Programmiersprache eben alles in UTF8 macht und deswegen auch 쫎쩍索❹❷ als Variablenname erlaubt.

Kannst du doch in Java, natürlich nicht in UTF-8, da UTF-8 nun mal dafür nicht geeignet ist(ein Zeichen ist nicht immer gleich groß => langsam), aber in UTF-16(immer 16Bit, nicht wie UTF-8 von 8 bis 32).

Damit es funktioiert müsste ich jetzt z.b "c" reinschreiben. Dann könnte man aber nicht mehr antworten. Ich möchte, dass man jedes, wenn die Methode "StartQuiz" intern die Methode "giveAnswer" aufruft einen neuen String eingeben muss...


Dazu musst du die neue Methode giveAnswer ohne Parameter definieren und dann in dieser eine Tastatureingabe machen und die alte giveAnswer-Methode mit dieser Eingabe (als Parameter) aufrufen.
 
Zuletzt bearbeitet:
Tut mir leid, aber die Ausage ist auch falsch. in UTF-16 hat ein Buchstabe nicht immer 16Bit, es gibt immernoch genug Zeichen die aus 2 16Bit-Ketten bestehe.
Erst mit UTF-32 hat jedes Zeichen genau die gleiche Länge: 32 Bit

Kommt drauf an: klick
[...]Die ISO-Norm definiert weiterhin eine Kodierung UCS-2, in der jedoch nur 16-Bit-Darstellungen der BMP zulässig sind.[...]

Auf jeden Fall meinte ich die 16Bit Unicodezeichen, wie sie von Windoof und Java verwendet werden.
 
Auf jeden Fall meinte ich die 16Bit Unicodezeichen, wie sie von Windoof und Java verwendet werden.

liro, du kannst doch nicht deine Aussage begründen, nur weil es eine extra Kodierung gibt (die aber nicht UTF-16 heisst) bei der es so ist :roll: :LOL:
Mit UCS-2 magst du Recht haben, aber UTF-16 ist definiert, und UTF-16 = UTF-16 und da gibt es auch Zeichen mit mehr als 16 Byte.
 
Wie schon gesagt: ja das kann gut sein.

[...]UTF-16 = UTF-16 und da gibt es auch Zeichen mit mehr als 16 Byte.
heftig ... :D

und damit das kein 100% OffT-Post wird, der Code zu maxator Frage:

Code:
private void giveAnswer()
{
  String eingabe = (new BufferedReader(new InputStreamReader(System.in))).readLine();
  giveAnswer(eingabe.trim());
}