не вижу, но он ругается
package com.javarush.task.task19.task1924;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
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<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) {
try (BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
BufferedReader reader = new BufferedReader(new FileReader(console.readLine()))){
ArrayList<Integer> list = new ArrayList<Integer>(map.keySet());
ArrayList<String> strList = new ArrayList<String>(map.values());
while (reader.ready()){
String line = reader.readLine();
for (int i = 0; i < list.size(); i++) {//"\\D(%d)\\D"
String regular = String.format("(^|[\\D])(%d)([\\D]|$)", list.get(i));//(^|[\D])(1)([\D]|$)
Pattern pattern = Pattern.compile(regular);
while (true){
Matcher matcher = pattern.matcher(line);
if (matcher.find()) {
line = new StringBuilder(line).replace(matcher.start(2), matcher.end(2), strList.get(i)).toString();
}else {
break;
}
}
}
System.out.println(line);
}
}catch (Exception e){}
}
}