Всем доброго времени суток! Задача task1907 - Считаем слово Стараюсь искать по contains. Программа успешно работает с моим тестовым текстом, но последний пункт не проходит валидацию. Буду благодарен за подсказку : где же ошибся.
Считаем слово
Считать с консоли имя файла.
Файл содержит слова, разделенные знаками препинания.
Вывести в консоль количество слов «world«, которые встречаются в файле.
Закрыть потоки.


Требования:
1. Программа должна считывать имя файла с консоли (используй BufferedReader).
2.BufferedReader для считывания данных с консоли должен быть закрыт.
3. Программа должна считывать содержимое файла (используй FileReader c конструктором String).
4. Поток чтения из файла (FileReader) должен быть закрыт.
5. Программа должна выводить в консоль количество слов "world", которые встречаются в файле.
package com.javarush.task.task19.task1907;

/*
Считаем слово
*/

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String slovo = "", fname = reader.readLine();
        int wordscount = 0;
        char [] a = new char[50];
        FileReader reader1 = new FileReader(fname);

        while (reader1.ready()) {
            reader1.read(a);

            for(char c : a) {
                slovo = slovo + c;
                if (slovo.contains(" world")) {
                    slovo = "";
                    wordscount++;
                }
            }
        }
        reader.close();
        reader1.close();
        System.out.println(wordscount);
    }
}