посмотрев на условие (правда сначала прочел его неправильно, вместе "знаками препинания", прочитал "запятыми") и сложность эпик - я моментально прикинул решение, восхвалил себя званием "ну ты моооозг". приступил к решению, ну и дошел до этапа дрочева... после долгих мучений внимательнее изучил условие.. вроде в реплецсе заменил все знаки препинания на запятые, убрал пробелы, один болт, что-то не верно..
подскажите, я где то в своем решении накосячил или не решается без регулярки?
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 fileName = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(fileName);
//char[] word = new char[5];
StringBuilder str = new StringBuilder();;
while(fileReader.ready() ){
char c = (char) fileReader.read();
//System.out.println(c);
str.append(c);
//System.out.println(str);
}
fileReader.close();
String word = new String(str);
word = word.replaceAll("\\.", ",")
.replaceAll("!", ",")
.replaceAll("\\.", ",")
.replaceAll("\"", ",")
.replaceAll("\\(", ",") // Открывающаяся скобка
.replaceAll("\\)", ",") // Закрывающаяся скобка
.replaceAll("-", ",") // Закрывающаяся скобка
.replaceAll(" ", "");
// System.out.println(word);
String[] words = word.split(",");
int count = 0;
String s = "world";
for (String w : words)
{
//System.out.println(w);
if(w.equals("world")){
count++;
}
}
System.out.println(count);
//C:\Users\semenov\Downloads\text.txt
}
}