???
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.Matcher;
import java.util.regex.Pattern;
/*
1. В статическом блоке инициализировать словарь map парами [число-слово] от 0 до 12 включительно.
Например, 0 - "ноль", 1 - "один", 2 - "два"
2. Считать с консоли имя файла, считать содержимое файла.
3. Заменить все числа на слова используя словарь map.
4. Результат вывести на экран.
5. Закрыть потоки.
Пример данных в файле:
Это стоит 1 бакс, а вот это - 12.
Переменная имеет имя file1.
110 - это число.
Пример вывода в консоль:
Это стоит один бакс, а вот это - двенадцать.
Переменная имеет имя file1.
110 - это число.
*/
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 bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader fileReader = new BufferedReader(new FileReader(bufferedReader.readLine()))) {
String line;
while((line = fileReader.readLine()) != null) {
String[] strArray = line.split("[ .!,/;]");
for (String word : strArray) {
try {
int num = Integer.parseInt(word);
if(num >= 0 && num <= 12) {
for(Map.Entry<Integer, String> entry : map.entrySet()) {
if (entry.getKey() == num) {
line = line.replaceFirst(entry.getKey().toString(), entry.getValue());
break;
}
}
}
}
catch (NumberFormatException numberFormatException) {
continue;
}
}
System.out.println(line);
}
}
catch (IOException ioException) {
ioException.getMessage();
}
}
}