Some idea how to fix this mistake?
package pl.codegym.task.task19.task1924;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/*
Zastępowanie liczb
*/
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) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//String file1 = "D:\\JAVA\\CodeGym\\CodeGymTasks\\2.JavaCore\\src\\File1.txt";
String file = reader.readLine();
reader.close();
// D:/JAVA/CodeGym/CodeGymTasks/2.JavaCore/src/File1.txt
FileReader fileReader = new FileReader(file);
// D:/JAVA/CodeGym/CodeGymTasks/2.JavaCore/src/File1.txt
// D:/JAVA/CodeGym/CodeGymTasks/2.JavaCore/src/File2.txt
BufferedReader bufferedReader = new BufferedReader(fileReader);
String string = "";
// String regex1 = "";
// String regex2 = "";
while (bufferedReader.ready()) {
string = bufferedReader.readLine();
string = " " + string.replace(".", " ");
for (Map.Entry<Integer, String> m : map.entrySet()) {
// regex1 = "\\p{Punct}";
// regex2 = "\\p{Cntrl}";
string = string.replaceAll(" " + m.getKey() + " ", " " + m.getValue() + " ");
string = string.replaceAll(" " + m.getKey() + ",", " " + m.getValue() + ",");
}
string = string.substring(1, string.length() - 1) + ".";
System.out.println(string);
}
bufferedReader.close();
fileReader.close();
}
}
/*Zastępowanie liczb
1. W bloku statycznym, inicjalizuj mapę zawierającą pary (liczba, słowo) od 0 do 12 włącznie.
Na przykład, (0, "zero"), (1, "one"), (2, "two")
2. Odczytaj nazwę pliku z konsoli, a następnie odczytaj zawartość pliku.
3. Użyj mapy, aby zastąpić wszystkie liczby słowami.
4. Wyświetl wynik.
5. Zamknij strumienie.
Przykładowa zawartość pliku:
To kosztuje 1 dolara, a to jest 12.
Nazwa zmiennej to file1.
110 to liczba.
Przykładowy wynik konsoli:
To kosztuje one dolara, a to jest twelve.
Nazwa zmiennej to file1.
110 to liczba.
Requirements:
1. Klasa Solution musi posiadać publiczne statyczne pole Map<Integer, String> o nazwie words, które jest natychmiastowo inicjalizowane.
2. Program musi odczytywać nazwę pliku z konsoli (użyj BufferedReader).
3. BufferedReader używany do odczytu danych wejściowych z konsoli musi zostać zamknięty po jego zastosowaniu.
4. Program musi odczytywać zawartość pliku (użyj konstruktora FileReader).
5. Strumień wejściowy pliku (FileReader) musi zostać zamknięty.
6. Program powinien zapisywać wszystkie linie z pliku do konsoli, ale wszystkie numery muszą być zastąpione odpowiadającymi im słowami w map.
7. Klasa Solution musi posiadać blok statyczny, który dodaje trzynaście par do map.
*/