Потестировал файл много раз , всё гуд ... почему не пускает и не говорит чего хочет ?(
package com.javarush.task.task19.task1924;
import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
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) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
BufferedReader buf = new BufferedReader(new FileReader(fileName));
String name = null;
int index = 0;
StringBuilder stringBuilder = new StringBuilder();
while ((name = buf.readLine()) != null) {
Pattern pattern = Pattern.compile("\\b(0|1|2|3|4|5|6|7|8|9|10|11|12)\\b");
Matcher matcher = pattern.matcher(name);
while (matcher.find()) {
stringBuilder.append(name.substring(index, matcher.start()));
if (map.containsKey(Integer.parseInt(matcher.group()))) {
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> entry = iterator.next();
int key = entry.getKey();
String value = entry.getValue();
if (key == Integer.parseInt(matcher.group())) {
stringBuilder.append(value);
}
}
index = matcher.end();
}
}
if(stringBuilder.toString().equals("")) {
stringBuilder.append(name);
}
System.out.println(stringBuilder.toString());
stringBuilder = new StringBuilder();
index = 0;
}
buf.close();
}
}