Проверь, почему программа находит не все слова "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 r = new BufferedReader(new InputStreamReader(System.in));
String f1 = r.readLine();
r.close();
BufferedReader reader = new BufferedReader(new FileReader(f1));
StringBuilder stringBuilder = new StringBuilder();
while (reader.ready()){
stringBuilder.append(reader.readLine());
}
String s = stringBuilder.toString();
String[]strings=s.split("\\W+");
int count=0;
for (String str: strings){
if (str.equals("world")) count++;
}
System.out.println(count);
reader.close();
}
}
/*Считаем слово
Считать с консоли имя файла.
Файл содержит слова, разделенные знаками препинания.
Вывести в консоль количество слов "world", которые встречаются в файле.
Закрыть потоки.
Требования:
1. Программа должна считывать имя файла с консоли (используй BufferedReader).
2. BufferedReader для считывания данных с консоли должен быть закрыт.
3. Программа должна считывать содержимое файла (используй FileReader c конструктором принимающим String).
4. Поток чтения из файла (FileReader) должен быть закрыт.
5. Программа должна выводить в консоль количество слов "world", которые встречаются в файле.*/