Я искренне не понимаю, что не так:
Мой файл test.txt:
Витя Богдан Антон Дима
Антон Богдан Антон Дима
Дима Антон Дима
Дима Антон Богдан Дима
Дима Антон Антон Дима
Вывод:
test.txt // это я ввожу в консоль имя файла
Дима Антон Богдан Дима
Дима Антон Антон Дима
Process finished with exit code 0
package com.javarush.task.task19.task1922;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Ищем нужные строки
*/
public class Solution {
public static List<String> words = new ArrayList<>();
public static final int TARGET = 2;
static {
words.add("Антон");
words.add("Богдан");
words.add("Витя");
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String fileName = br.readLine();
br.close();
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
List<String> lines = new ArrayList<>();
while (reader.ready())
lines.add(reader.readLine());
int currentCount = 0;
for (String line : lines) {
for (int i = 0; i < words.size(); i++) {
String word = words.get(i);
String regex = "\\b" + word + "\\b";
String[] words = line.split(regex);
currentCount += words.length - 1;
}
if (currentCount == TARGET)
System.out.println(line);
currentCount = 0;
}
}
}
}