Валидатор принял задачу , но я заметил , что на выводе первая буква первого слова ,почему то была проигнорирована. Подскажите пожайлуста что не так.
Ещё вопрос по теме конвертации буквы в заглавную , пробовал изначально написать ch[i] = ch[i] - 32 (пользуясь таблицей ASCII) но компилятор ругался и выдавал ошибку. Если не ошибаюсь то буквы являются теми же числами int, почему компилятор в таком случае ругается и как правильно было бы написать ?
char[] ch = string.toCharArray();
int setting = 0;
for (int i = 0; i<ch.length;i++) {
if (setting == 0) {
if (ch[i] == ' ')
setting = 1;
}
if (setting > 0) {
if (ch[i] != ' ') // è una lettera
{
ch[i] = Character.toUpperCase(ch[i]);
setting = 0;
}
}
}
String str = new String(ch);
System.out.println(str);
AlexanderK
36 уровень
Не переводит первое слово.
Архивный
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAРазработчик в prosv.ruExpert
14 июня 2020, 13:44полезный
Мне нравится решение через регулярное выражение, примерно так
+1
AlexanderK
15 июня 2020, 15:45
Понимаю что так наверное очень удобно и быстро, но задача для 8-го уровня не подразумевает знание такого колл-ва вещей. Спасибо за интересное решение, буду разбирать. Так бы конечно хотелось узнать как решается задача с теми инструментами что имеются на 8-ом уровне.
0
KIRAРазработчик в prosv.ruExpert
15 июня 2020, 15:54решение
Можно решить через сплит. Разделить строку на массив слов и через сабстринг вывести, таким образом решал на 8 уровне
+4