Я не понимаю, что не так?
package com.javarush.task.task19.task1907;
/*
Считаем слово
Считать с консоли имя файла.
Файл содержит слова, разделенные знаками препинания.
Вывести в консоль количество слов "world", которые встречаются в файле.
Закрыть потоки.
Требования:
1. Программа должна считывать имя файла с консоли (используй BufferedReader).
2. BufferedReader для считывания данных с консоли должен быть закрыт.
3. Программа должна считывать содержимое файла (используй FileReader c конструктором принимающим String).
4. Поток чтения из файла (FileReader) должен быть закрыт.
5. Программа должна выводить в консоль количество слов "world", которые встречаются в файле.
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name1 = reader.readLine();
FileReader fileReader = new FileReader(name1);
reader.close();
int count = 0;
reader = new BufferedReader(fileReader);
while (true) {
String line = reader.readLine();
if (line == null) {
break;
}
String words[] = line.split("\\p{Punct} ");
for (int i = 0; i < words.length; i++) {
String word = words[i].toLowerCase();
if (word.equals("world ") || word.equals(" world") || word.equals("world")) {
++count;
}
}
}
reader.close();
fileReader.close();
System.out.println(count);
}
}