I have tested different words several times for example:
d2upa dupa2 dy2sk d1y2s2k
While I try it on IDEA it works perfectly.
Task is about WORD so word must have letter and then optionally numbers or letters so this is how I made my solution but it still does not meet requirements.
Please help
package pl.codegym.task.task19.task1923;
/*
Słowa z liczbami
*/
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
String file1 = args[0];
String file2 = args[1];
//String file1 = "C:\\Users\\Admin\\IdeaProjects\\test\\1.txt"; for test purposes
//String file2 = "C:\\Users\\Admin\\IdeaProjects\\test\\2.txt"; for test purposes
String regex = "[a-zA-Z]+[0-9]+([a-zA-Z]*|[0-9]*)*";
BufferedReader reader = new BufferedReader(new FileReader(file1));
FileWriter fileWriter = new FileWriter(file2);
String a;
while (reader.ready()) {
a = reader.readLine();
String[] array = a.split(" ");
Pattern pattern = Pattern.compile(regex);
for (int i = 0; i<array.length; i++) {
Matcher matcher = pattern.matcher(array[i]);
if (matcher.matches()) {
fileWriter.write(array[i]+" ");
//System.out.print(array[i]+" "); for test purposes
}
}
}
reader.close();
fileWriter.close();
}
}
/*
args[0] to file1
args[1] to file2
file1.split
file2 zapisz jesli regex
zamknij strumienie
Pierwszy parametr metody main to file1, a drugi to file2.
file1 zawiera wiersze z wyrazami oddzielonymi spacjami.
Zapisz do file2 wszystkie słowa, które zawierają liczby, np. a1 lub abc3d. Oddziel te słowa spacjami.
Zamknij strumienie.
Wymagania:
• Program NIE może wczytywać danych z klawiatury.
• Program musi odczytywać zawartość pierwszego pliku (użyj konstruktora z parametrem String).
• Strumień wejściowy pliku (FileReader) musi zostać zamknięty.
• Program powinien zapisywać do drugiego pliku wszystkie słowa z pierwszego pliku zawierające liczby (użyj FileWriter).
• Strumień wyjściowy pliku (FileWriter) musi zostać zamknięty.*/