Омовение Рамы

  • 5
  • Недоступна
Когда-то жил и правил легендарный древнеиндийский царь Рама. И, вероятно, была та, которая его родила. Не факт, что она мыла его самостоятельно (царица всё-таки), но да простят нам знатоки эту невинную историческую фантазию. Напишем программу, которая заменит текст «мама мыла раму» на «Мама Мыла Раму».
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (281)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Elnej10 уровень
позавчера, 14:12
1. нашу строку преобразуем в toCharArray() 2. первый char сразу выводим в заглавный через Character.toUpperCase(); 3.перебираем массив char с условием Charaster.isWhitespace() и если да, то следующий меняем как в пункте 2. 4. создаем пустую строку и ее через цикл заполняем сново нашим массивом из 1. и выводим
Максим10 уровень, Москва
четверг, 12:57
Вот так решил: 1. String.split(" ") - и потом каждое слово в массив 2. Из массива вытаскиваем и добавляем проверку на if (Array.get(i).isEmpty() Continue). Это чтобы игнорить более одного пробела между словами в исходной строке 3. Используем substring для первой буквы + добавляем с помощью substring остальное слово, засовываем назад в этот же массив 4. Массив в print с пробелами. Получаем Нашу Искомую Строку
Programmist Anton9 уровень, Одесса
8 июня, 12:15
sArray[i] = (char)((int)sArray[i] - 32); Разница между маленькими и заглавными буквами в таблицу ASCII 32, может кому-нибудь поможет :)
31 мая, 15:07
Просмотрел практически все комментарии, и похоже я единственный, кто в поиске ответов на вопросы по задаче наткнулся на класс StringTokenizer -- разбивает строку на токены с указанным разделителем. Чем-то похож на итератор, кстати) То есть - разбил предложение на слова с разделителем "пробел", потом в цикле каждое слово разбивается на массив символов, ну и первый символ туапперкейс :) После - обратно собираем строку, не забывая про пробелы, ну и trim на выходе. Проверку прошло даже с первого раза, но времени конечно ушло уйма) Здесть есть более красивое решение, пожалуй, но зато - "все сам" 8)
MartyMcAir10 уровень
среда, 18:01
Годно, спс за инфу.
Oleg10 уровень, Курган г
30 мая, 17:08
Пытался что -то наковырять из головы по комментариям, так ничего и не получилось. В итоге на Stack OwerFlow нашел похожее задание и переделал под себя...прошло с первого раза. Думается мне, что такое нужно просто запомнить и применять как шаблон.
Roman8 уровень, Киев
22 мая, 11:44
Задача страшная, но лёгкая... Быстро решается с помощью трёх методов: 1. toCharArray(); 2. String.valueOf(); 3. Character.toUpperCase(); Этого достаточною. Возится с substring() не рекомендую - слишком раздувает и усложняет код.
Кирилл Витальевич11 уровень, Санкт-Петербург
15 мая, 12:24
Эту задачу хорошо бы дополнить необходимостью устранять кратные пробелы в середине строки
Сергей14 уровень, Минск
13 мая, 15:31
Решил через capitalizeFully(), валидацию прошёл, но сам метод - Deprecated. http://commons.apache.org/proper/commons-lang/javadocs/api-3.9/org/apache/commons/lang3/text/WordUtils.html#capitalizeFully-java.lang.String-
Руслана11 уровень
10 мая, 09:06
1. Делим строку на слова до пробела и заносим слова в массим 2.Циклом вытягиваем с массива по слову 3.Преобразуем слово в массив символов 4.берем первую букву слова, т е с массива первый символ 5.преобразуем первую букву в строковый тип 6.делаем ее заглавной 7.преобразуем первую букву назад в символьный тип 8.достаю эту единственную букву с массива 9.первый элемент а массиве символов заменяю этой большой буквой 10.преобразуем массив символов назад в строку
New Year15 уровень, Москва
12 мая, 13:06
все очень сложно
MartyMcAir10 уровень
среда, 18:09
тоже самое)) а в начале s.trim().toLowerCase().split("[\\s]+"); trim() убираем пробелы в начале и конце, toLowerCase() - на всякий случай все в нижн регистр (чтоб смотрелось) __ split() с регуляркой на случай если между словами будет более одного пробела потом все остальные пункты.. 1.2.3.4.5... ___ думал может есть, что-то по лаконичнее
Igor Zip12 уровень, Одесса
8 мая, 13:32
Разбиваем строку на масив слов потом слова разбываем на символы и выводим первый символ с большой буквы, далее остальные просто так выводим