Замена чисел

  • 20
  • Недоступна
В статическом блоке инициализируйте словарь map парами [число-слово] от 0 до 12 включительно. Считайте с консоли имя и содержимое файла. Замените все числа на слова используя словарь map. После этого выведите результат на экран и закройте потоки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (333)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sasha Dokuchaev Работает в Andersen
12 января, 20:03
Тренировка regex-ов https://regexone.com/
Denis
Уровень 32, Краснодар, Russian Federation
16 декабря 2021, 17:03
"\\b\\d+" - для поиска всех цифр в строке (вхождения перебираем Matcher-ом). "\\b" + tmpStr + "\\b" - для замены в строке, где значение tmpStr получено Matcher-ом "\\b\\d+" Все выполняется в stream...
li.ch
Уровень 22, Нижний Новгород
9 декабря 2021, 19:29
Если кто-то использует appendReplacement, не забывайте про appendTail, стоило мне попытки. Моя регулярка: \b[0-9]+\b Мапа: static { map.put(0, "ноль"); map.put(1, "один"); map.put(2, "два"); map.put(3, "три"); map.put(4, "четыре"); map.put(5, "пять"); map.put(6, "шесть"); map.put(7, "семь"); map.put(8, "восемь"); map.put(9, "девять"); map.put(10, "десять"); map.put(11, "одиннадцать"); map.put(12, "двенадцать"); }
Павел
Уровень 22
13 января, 17:36
Низкий поклон!
Buble76
Уровень 33, Москва, Россия
6 декабря 2021, 20:16
Вы решили задачу лучше, чем 7% учеников. Вам удалось ее решить с 6 попытки !! УРА !!
Sasha Dokuchaev Работает в Andersen
12 января, 19:59
Поздравляю)
Buble76
Уровень 33, Москва, Россия
6 декабря 2021, 14:21
выражение (strings[i]).matches("\\d{1,2}") - при strings[i] = "12." - дает false - почему ?
Sergey Kornilov
Уровень 35, Petropavlovsk, Казахстан
25 ноября 2021, 14:06
Всего эту задачу решили 15754 учеников. В общем вокруг цифры могут быть любые знаки препинания, и это тоже считать цифрой и заменять на слово. replaceAll("\\b" + pair.getKey().toString()+"\\b", pair.getValue());
Serhii.S
Уровень 20, Kharkiv
14 ноября 2021, 19:00
Решил с помощью StringTokenizer. Решение прошло только при установке разделителя " .,:;!?[]{}()\n\r\f\t" с 12-й, попытки - спасибо валидатору, который не показывает, почему именно не проходит предпоследний и самый важный пункт. Хоть бы какую зацепку дали...
Евгений Т.
Уровень 30, Москва, Россия
13 ноября 2021, 13:21
Горжусь собой.
Denis
Уровень 32, Краснодар, Russian Federation
16 декабря 2021, 16:54
Давай пять! 🖐
Максим Халиков
Уровень 20, Москва
10 ноября 2021, 19:00
Если выводить с точками на конце (как в примере), валидатор ругается и не принимает. Нужно без них. Погорел на этом, будьте внимательнее
Алексей
Уровень 20
4 ноября 2021, 11:18
Уважаемые разработчики не могли бы вы де ни будь в условии указать, что текст может быть написан абы как например "1.2" и рядом с цифрой может быть любой другой знак. В противном случае тратится просто куча времени на попытки понять чего хочет валидатор.