тестирую код- замена происходит идеально если в файле цифра или цифра с точкой. , но что то упустил. подскажите пожалуйста.
Я так понимаю что с цифрой может быть любой знак препинания и поэтому валидатор не пропускает решение ?
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;
/*
Замена чисел
*/
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 {
//String namefile="C:/Users/Василий/Documents/тестовые_документы/1.txt";
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String namefile=bf.readLine();
BufferedReader reader=new BufferedReader(new FileReader(namefile));
while (reader.ready()){
String sq=reader.readLine();
String s=sq.replace(".","");
//System.out.println(s);
String[]strings=s.split(" ");
for (int i = 0; i < strings.length ; i++) {
for (Integer ie:map.keySet()){
if (strings[i].equals(Integer.toString(ie))){
strings[i]=map.get(ie);
}
}
}
String changestring="";
for (String se:strings) {
changestring +=se+" ";
}
changestring=changestring.trim();
changestring=changestring+".";
System.out.println(changestring);
}
bf.close();
reader.close();
}
}