Тестировал, выводит все как надо. Что не так?
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));
FileReader fr = new FileReader(reader.readLine());
reader.close();
char[] signs = new char[]{'.',',',';','!','?',':',' ','"','(',')'};
String world="";
int count=0;
while(fr.ready()){
char a = (char)fr.read();
boolean o = false;
for(char p : signs){
if(a==p) {
o = true;
break;
}
}
if(o && world!=""){
if(world.equals("world"))count++;
world="";
}
else{
world+=a;
}
}
if(world.equals("world")) count++;
fr.close();
System.out.println(count);
}
}