Все выводит как надо если не учитывать регистр слова ворлд, но обэтом и не говорится в задании
package com.javarush.task.task19.task1907;
import java.io.*;
import java.util.ArrayList;
/*
Считаем слово
*/
// D:\trainingTime\ogoni\1.txt
public class Solution {
private static String fileName = "";
private static int elementsLength = 0;
private static ArrayList<Integer> data = new ArrayList<>();
private static byte [] elements;
private static int worldCounts = 0;
public static void main(String[] args) throws IOException {
getFileName();
getStrokesLengthFromFile();
getData();
getCountsOfWorld();
System.out.println(worldCounts);
}
public static void getCountsOfWorld(){
String tmp = new String(elements);
String word = "world";
String [] splited = tmp.split(word);
worldCounts = splited.length + 1;
}
public static void getStrokesLengthFromFile(){
try(FileReader fileReader = new FileReader(fileName)){
while(fileReader.ready()){
int tmp = fileReader.read();
elementsLength++;
}
} catch (IOException e) {
e.printStackTrace();
}
elements = new byte[elementsLength];
}
public static void getFileName() throws IOException {
try(BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in))) {
fileName = bufferedReader.readLine();
}
}
public static void getData() throws IOException {
try(FileReader fileReader = new FileReader(fileName)){
while(fileReader.ready()){
data.add(fileReader.read());
}
}
for (int i = 0; i < data.size(); i++) {
elements[i] = data.get(i).byteValue();
}
}
}