Не понимаю, почему не проходит валидацию, вроде все верно((
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;
/*
Ищем нужные строки
Считать с консоли имя файла.
Вывести в консоль все строки из файла, которые содержат всего 2 слова из списка words.
Закрыть потоки.
Пример:
words содержит слова А, Б, В
Строки:
В Б А Д //3 слова из words, не подходит
А Б А Д //3 слова из words, не подходит
Д А Д //1 слово из words, не подходит
Д А Б Д //2 слова - подходит, выводим
Д А А Д //2 слова - подходит, выводим
*/
public class Solution {
public static List<String> words = new ArrayList<String>();
static {
words.add("файл");
words.add("вид");
words.add("В");
}
public static void main(String[] args) throws IOException {
BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
String fileName = buff.readLine();
buff.close();
BufferedReader reader = new BufferedReader(new FileReader(fileName));
ArrayList<String> strings = new ArrayList<>();
while (reader.ready()) {
String text = reader.readLine();
String[] strokaArray = text.split(" ");
int count = 0;
for (int i = 0; i < strokaArray.length; i++) {
for (int j = 0; j < words.size(); j++) {
if (strokaArray[i].contains(words.get(j)))
count++;
}
}
if (count == 2)
strings.add(text);
}
reader.close();
for (String string : strings) {
System.out.println(string);
}
}
}