Валя не примает, что тут я накосячил?
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.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 {
String[] nums = {"ноль", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять",
"десять", "одиннадцать", "двенадцать"};
for (int i = 0; i <= 12; i++) {
map.put(i, nums[i]);
}
}
public static void main(String[] args) throws IOException {
try (BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new FileReader(console.readLine()));
) {
String[] lines = br.lines().toArray(String[]::new);
Pattern pattern = Pattern.compile("\\b([0-9]|1[0-2])\\b", Pattern.UNICODE_CHARACTER_CLASS);
for (String line : lines) {
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
try {
line = line.replaceFirst(matcher.group(), map.get(Integer.parseInt(matcher.group())));
} catch (NumberFormatException ignored) {
}
}
System.out.println(line);
}
System.out.println();
} catch(IOException e) {
throw new RuntimeException(e);
}
}
}