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