Всем привет, валидатор отказывается принимать по 6 пункту, вроде бы всё делаю правильно. Наведите на путь истинный)
package com.javarush.task.task19.task1924;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Контекстная реклама
*/
public class Solution {
public static Map<Integer, String> map = new HashMap<>();
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, "двенадцать");
}
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader reader1 = new BufferedReader(new FileReader(reader.readLine()));
reader.close();
Pattern p = Pattern.compile("\\b[0-9][12]?\\b");
Matcher m = null;
while (reader1.ready()) {
String str = reader1.readLine(); //читаю строку из файла
m = p.matcher(str);
while (m.find()) { // нахожу числа 0-12 в данной строке с помощью регулярки
String str1 = m.group();
for (Integer key : map.keySet()) { // перебираю ключи в map
if (key.toString().equals(str1)) { // проверка совпадения ключа с найденным числом в файле
str = str.replaceAll(str1, map.get(key)); // замена числа на слово с помощью map
break;
}
}
}
System.out.println(str); //вывод полученной строки в консоль
}
reader1.close();
}
}