Вывод в консоль правильный, в чем проблема хз, помогите)
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.HashMap;
import java.util.Map;
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 reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader readerFile = new BufferedReader(new FileReader(reader.readLine()))){
while (readerFile.ready()){
String line = readerFile.readLine();
Change(line);
}
}catch (IOException e){
e.printStackTrace();
}
}
public static void Change(String line){
String[] words = line.split(" ");
StringBuilder builder = new StringBuilder();
for (int i = 0; i < words.length; i++) {
if (i == words.length-1){
if (Pattern.matches("\\d.+", words[i]) && Integer.valueOf(words[i].replaceAll("\\D", "")) <= 12){ builder.append(map.get(Integer.valueOf(words[i].replaceAll("\\D", ""))) + words[i].charAt(words[i].length()-1)); }
else if (Pattern.matches("\\d", words[i]) && Integer.valueOf(words[i]) <= 12){ builder.append(map.get(Integer.valueOf(words[i]))); }
else { builder.append(words[i]); }
}else {
if (Pattern.matches("\\d.+", words[i]) && Integer.valueOf(words[i].replaceAll("\\D", "")) <= 12){ builder.append(map.get(Integer.valueOf(words[i].replaceAll("\\D", ""))) + words[i].charAt(words[i].length()-1) + " "); }
else if (Pattern.matches("\\d", words[i]) && Integer.valueOf(words[i]) <= 12){ builder.append(map.get(Integer.valueOf(words[i])) + " "); }
else builder.append(words[i] + " ");
}
}
System.out.println(builder.toString());
}
}