Help is appreciated
package com.codegym.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;
/*
Replacing numbers
*/
public class Solution {
public static Map<Integer, String> map = new HashMap<Integer, String>();
static {
map.put(0, "zero");
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
map.put(4, "four");
map.put(5, "five");
map.put(6, "six");
map.put(7, "seven");
map.put(8, "eight");
map.put(9, "nine");
map.put(10, "ten");
map.put(11, "eleven");
map.put(12, "twelve");
}
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
String fileName = reader.readLine();
reader.close();
BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
while (fileReader.ready()) {
String regex = "\\d+";
String[] line = fileReader.readLine().split("[. ]");
for (int i = 0; i < line.length; i++) {
ArrayList<String> newLine = new ArrayList<>();
if (line[i].matches(regex)) {
if (Integer.parseInt(line[i]) <= 12) {
line[i] = String.valueOf(map.get(Integer.parseInt(line[i])));
}
}
newLine.add(line[i]);
if (i == line.length - 1) {
newLine.add(".");
} else newLine.add(" ");
for (String b : newLine) {
System.out.print(b);
}
}
System.out.println();
}
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}