私はコードを作成してユーザーにさまざまな質問をし、input.trim().isEmpty()
メッセージがユーザーに与えられ、ユーザーに再度入力を要求するようにしました。したがって、ユーザーが空白を書き込むと、メッセージが与えられます。ユーザーが空白といくつかの文字を入力すると、それは受け入れられます。空白を削除してユーザーの入力を大文字にする
今、問題はWordの最初の文字を大文字にしたいということですが、実際には機能しません。ユーザーの入力が文字で始まる場合、それは大文字になります。しかし空白があれば、それは大文字にしません。
入力されているのであれば:
katka
出力は次のとおりです。
katka
もう一つの例:
katka
出力は次のとおりです。
Katka
コードは次のとおり
String askWork = input.nextLine();
String workplace = askWork.trim().substring(0,1).toUpperCase()
+ askWork.substring(1);
ながら(askWork.trim()のisEmpty()){ 列askWork = input.nextLine()。
String workplace = askWork.trim().substring(0,1).toUpperCase()
+ askWork.substring(1);
}
私は別のアプローチが、なしの成功を試みました。
"空白がある場合は大文字にしません。"あなたが望むのは 'String'の' trim() 'メソッドです。 (http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#trim--) –
最初の文字を大文字に変換してから、空白を削除します。最初に空白を削除するほうがはるかに意味があると思いませんか?それから、空白を大文字に変換しない(試してみる)でしょう。 – Tom
私は同意します。私はaskWork.trim()を試しました。部分文字列(0,1).toUpperCase()+ askWork.substring(1);しかし、スレッド "main"の例外のようなエラーが発生します。java.lang.StringIndexOutofBoundsException:文字列インデックスが範囲外です。入力が空白のみの場合は1が与えられます。しかし、入力に文字が含まれていれば、それは優れています。私は理由を理解できません。 – Ilja