В идее все четко работает, и слово "файла" не засчитывает, как и требуется. И повторение слов учитывается. В чем дело???
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<String>();
static {
words.add("файл");
words.add("вид");
words.add("В");
}
public static void main(String[] args) throws IOException {
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
String s = reader1.readLine();
reader1.close();
FileReader read = new FileReader(s);
BufferedReader reader = new BufferedReader(read);
int count = 0;
while (reader.ready()){
String a = reader.readLine();
String[] b = a.split("\\b \\b");
for(int i = 0; i<words.size(); i++){
for (int c = 0; c<b.length; c++){
if(words.get(i).equals(b[c])){
count++;
}
}
}
if (count == 2){
System.out.println(a);
}
count = 0;
}
reader.close();
read.close();
}
}
а нужно чтоб было так:
В метод split() можно задавать символы в параметры, т. е. можно просто передать пробел " " в место \\s, если проблемы с синтаксисом regex.