Почему мой код не принимается валидатором? Хотя меняет числа по условию, и разделенные пробелом, и запятыми (которые могут быть):
public class Solution {
public static Map<Integer, String> map = new HashMap<Integer, String>();
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 Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String z = reader.readLine();
reader.close();
BufferedReader input = new BufferedReader(new FileReader(z));
while (input.ready()){
String a = input.readLine();
Pattern p = Pattern.compile("(\\b)\\d\\d?(\\b)");
Matcher m = p.matcher(a);
String result = a;
while (m.find()){
String b = (a.substring(m.start(),m.end()));
int key = Integer.parseInt(b);
if (map.containsKey(key)){
result = result.replaceFirst(b, map.get(key));
}
}
System.out.println(result);
}
input.close();
}
}
А взятый отсюда : https://javarush.com/help/2528 (там остается только блок Try засунуть внутрь цикла) принимается валидатором, хотя при попытке ему скормить 11 12 11 10 выдает: 11 двенадцать одиннадцать десять.