[solved] Javaproblem bei Eingabe in die Konsole
Denne 23.11.2008 - 16:35 2073 17
Maekloev
linux addicted
|
ok, witzige aufgabenstellung... freut mich, dass du eine lösung gefunden hast.
|
that
ModeratorHoffnungsloser Optimist
|
Der Benutzer soll einen String eingeben, welches Zeichen für Zeichen in ein Char-Array kopiert wird. Hierbei darf der Benutzer aber bestimmen, wie lang das Array sein soll (deswegen die while-schleife die den fall abfängt, dass das array zu klein ist). Da würde sich erstens eine do-while-Schleife anbieten (dann musst du den Code für die Eingabe nicht duplizieren), und zweitens darf der Benutzer sowieso nur die richtige Arraylänge eingeben, weil du sonst nicht existierende Zeichen aus dem String liest, was in einer Exception endet. Insofern ist mir der Nutzen der getrennten Eingabe von Text und Länge ziemlich unklar. Die Lösung: Um nach dem ersten readInt() das Leerzeichen bzw Enter wegzubekommen, setzen wir einfach danach ein leeres readLine() und somit funzt alles Ich hoffe es ist dir jetzt auch klar, warum das so funktioniert.
|
Denne
Here to stay
|
@ Länge vom Array: Die Aufgabenstellung war so, dass wir zuerst bestimmte Methoden schreiben(Beschreibung war vorgegeben), und diese per Interface dann implementieren sollten. Eine Methode war zb auch, dass ein char-Array ins andere hineinkopiert wurde (nullbyte sollte wie in C das Ende des Arrays darstellen etc). Deswegen sollte sich der Benutzer die Länge des Arrays aussuchen dürfen. Mit der do-while-Schleife hast du Recht, habe es auch schon geändert Das mit dem readLine habe ich bedingt verstanden, ein Kollege (welcher mir den Tip gegeben hat) erklärts mir morgen noch einmal.
|