Я сделал код, чтобы он задавал пользователю различные вопросы, и если сообщение input.trim().isEmpty()
будет передано пользователю и попросит пользователя ввести его снова. Поэтому, если пользователь просто пишет пробелы, сообщение указано. Если пользователь дает несколько пробелов и некоторые символы, он будет принимать.Удалите пробелы и запишите ввод пользователя
Проблема прямо сейчас заключается в том, что я хочу использовать первую букву слова, но на самом деле это не работает. Скажем, если ввод пользователя начинается с буквы, которая будет заглавной. Но если есть пробелы, они вообще не будут капитализироваться.
Так что, если вход:
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);
}
Я пробовал различные подходы, но без успеха.
«Если есть пробел, он вообще не будет капитализирован». Вы хотите использовать метод 'trim()' на 'String'. (http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#trim--) –
Вы преобразовываете первый символ в верхний регистр, а затем вы удаляете пробелы. Разве вы не думаете, что это сделало бы гораздо больше смысла сначала удалять пробелы? Тогда вы не захотите (попробуйте) преобразовать пробел в верхний регистр. – Tom
Согласен. Я попробовал askWork.trim(). Substring (0,1) .toUpperCase() + askWork.substring (1); Но я получаю такие ошибки, как исключение в потоке «main» java.lang.StringIndexOutofBoundsException: индекс строки за пределами диапазона: 1 задается, если вход является только пробелом. Однако, если вход содержит символы, он отлично работает. Я не понимаю, почему .. – Ilja