Всем доброго времени суток!
Задача 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);
}
}
package com.javarush.task.task19.task1907;
/*
Считаем слово
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
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;
int data;
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);
}
}