I don't know what ninkampoops gave this exercise 4-stars. I just about pulled out what remains of the few hairs on my head because this one seemed so straightforward, but took an obnoxious number of attempts to pass. Mind you, there was a whole other version that I completely came up with on my own that I liked, performed exactly as it should, and still failed the last requirement. So, I went to the Community section and found similar code, applied their tweaks and it still wouldn't pass. Then, I went to the 'extreme' and just shoved everything into the scope that read and counted 'world' altogether. It looked more confusing if one were to just walk up to it, but whatever. And it passed. What the heck? Is there some nuance I was missing here? Again, version 'A' correctly counted the number of 'world' iterations. Version A
String line = null;
        while(fileReader.ready()){
            line = fileReader.readLine();
            }
String[] lineArray = line.replaceAll("[^a-zA-Z]", " ").split(" ");
        int worldCounter = 0;
            for(int i = 0; i < lineArray.length; i++) {
                if(lineArray[i].equals("world"))
                    worldCounter++;
        }
        fileReader.close();
            System.out.println(worldCounter);
    }
}