Не принимает валидатор. Все выводит правильно.
world
worldworld
world worldworld
world,world^world&world
world&world 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 filename = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(filename); // "c:\\tmp\\" +
// f1.txt
int data = 0;
int countWorld = 0;
boolean first = true;
while (fileReader.ready()) {
data = fileReader.read();
if (first){
first = false;
if (data == 'w') {
data = fileReader.read();
if (data == 'o') {
data = fileReader.read();
if (data == 'r'){
data = fileReader.read();
if (data == 'l'){
data = fileReader.read();
if (data == 'd'){
data = fileReader.read();
if ((data == 32)||(data == 13)||(data == 10)||(data == -1)){
countWorld++;
first = true;
if (data == 13) {data = fileReader.read();}
}
}
}
}
}
}
}
else {
if ((data == 32)||(data == 10)) {
data = fileReader.read();
if (data == 'w') {
data = fileReader.read();
if (data == 'o') {
data = fileReader.read();
if (data == 'r'){
data = fileReader.read();
if (data == 'l'){
data = fileReader.read();
if (data == 'd'){
data = fileReader.read();
if ((data == 32)||(data == 13)||(data == 10)||(data == -1)){
countWorld++;
first = true;
if (data == 13) {data = fileReader.read();}
}
}
}
}
}
}
}
}
}
fileReader.close();
System.out.println(countWorld);
}
}