public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileReader r = new FileReader(reader.readLine());
reader.close();
StringBuilder builder = new StringBuilder("");
while (r.ready()){
builder.append((char)r.read());
}
r.close();
String text = builder.toString().replaceAll("\\p{Punct}", " ");
//Удаляем знаки пунктуации
text = text.replaceAll("\\d", " ").replaceAll("[\\s]{2,}", " ").toLowerCase();
//Удаляем цифры, лишние пробелы. Если подсчет без учета регистра то toLowerCase()
String[] count = text.split(" ");
int counter = 0;
for (String s: count) {
if (s.equals("world")) counter++;
}
System.out.println(counter);
}
}
Проверял и с учетом регистра и без, с учетом цифр и без. Одинаково не принимается пункт
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;
slovo = slovo.replaceAll("[^a-zA-Z ]", " ").toLowerCase();
//System.out.println(slovo);
if (slovo.contains(" world ")) {
slovo = "";
wordscount++;
}
}
}
reader.close();
reader1.close();
System.out.println(wordscount);
/*BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileReader r = new FileReader(reader.readLine());
reader.close();
StringBuilder builder = new StringBuilder("");
while (r.ready()){
builder.append((char)r.read());
}
r.close();
String text = builder.toString().replaceAll("\\p{Punct}", " ");
//Удаляем знаки пунктуации
text = text.replaceAll("\\d", " ");
//Удаляем цифры
text = text.replaceAll("[\\s]{2,}", " ");
//Удаляем лишние пробелы
//System.out.println(text);
String[] count = text.split(" ");
int counter = 0;
for (String s: count) {
//System.out.println(s);
s = s.toLowerCase();
//Если подсчет без учета реестра
if (s.equals("world")) counter++;
}
System.out.println(counter);*/
//d:/Test.txt
}
}