Ich habe den Code gemacht, so dass es den Benutzer verschiedene Fragen stellt, und wenn der input.trim().isEmpty()
eine Nachricht an den Benutzer gegeben wird und den Benutzer bitten, erneut einzugeben. Wenn also der Benutzer nur Leerzeichen schreibt, wird eine Nachricht gegeben. Wenn der Benutzer ein paar Leerzeichen und einige Zeichen angibt, wird er akzeptiert.Entfernen Sie Leerzeichen und Großschreibung Benutzereingabe
Problem im Moment ist, dass ich den ersten Buchstaben des Wortes groß schreiben möchte, aber es funktioniert nicht wirklich. Sagen Sie, wenn die Eingabe des Benutzers mit einem Buchstaben beginnt, wird dieser groß geschrieben. Aber wenn es Whitespace gibt, wird es überhaupt nicht kapitalisieren.
Also, wenn Eingang:
katka
Ausgang ist:
katka
Ein weiteres Beispiel:
katka
Ausgang ist:
Katka
-Code ist:
String askWork = input.nextLine();
String workplace = askWork.trim().substring(0,1).toUpperCase()
+ askWork.substring(1);
während (. AskWork.trim() isEmpty()) { String askWork = input.nextLine();
String workplace = askWork.trim().substring(0,1).toUpperCase()
+ askWork.substring(1);
}
Ich habe verschiedene Ansätze ausprobiert, aber keinen Erfolg.
"Wenn es Whitespace gibt, wird es überhaupt nicht kapitalisieren." Was Sie wollen, ist die 'trim()' Methode für 'String'. (http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#trim--) –
Sie konvertieren das erste Zeichen in Großbuchstaben _und then_ entfernen Sie die Leerzeichen. Glaubst du nicht, dass es viel mehr Sinn machen würde, die Whitespaces zuerst zu entfernen? Dann würden Sie (nicht) ein Leerzeichen in Großbuchstaben konvertieren. – Tom
Ich stimme zu. Ich habe versucht, askWork.trim(). Substring (0,1). ToUpperCase() + askWorkstring (1); Aber ich erhalte Fehler wie Exception im Thread "main" java.lang.StringIndexOutofBoundsException: String-Index außerhalb des Bereichs: 1 ist gegeben, wenn die Eingabe nur Leerzeichen ist. Wenn die Eingabe jedoch Zeichen enthält, funktioniert es ausgezeichnet. Ich verstehe nicht warum. – Ilja