Слова видит только если они отделены пробелом ( слово типо "Ввид" не примет), если слова повторяются (например "В В") тоже видит, не могу понять в чем проблема
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;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Ищем нужные строки
*/
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 bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = bufferedReader.readLine();
bufferedReader.close();
int count = 0;
BufferedReader reader = new BufferedReader(new FileReader(fileName));
while (reader.ready()) {
String string = reader.readLine();
for (String s : words) {
Pattern pattern = Pattern.compile("\\b" + s + "\\b");
Matcher matcher = pattern.matcher(string);
System.out.println(s);
while (matcher.find()) {
count++;
}
}
if (count == 2) System.out.println(string);
count = 0;
}
reader.close();
}
}