До более элегантного способа решения не могу додуматься,к сожалению. Программа выводит в соответствии с заданием, но валидатор ругается. Знаю,что довольно костыльное решение, помогите разобраться как правильно вывести на экран и почему мое решение не проходит валидацию
package com.javarush.task.task07.task0727;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Меняем функциональность
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> strings = new ArrayList<String>();
while (true) {
String string = reader.readLine();
if (string == null || string.isEmpty()) break;
strings.add(string);
}
ArrayList<String> resultStrings = new ArrayList<String>();
for (int i = 0; i < strings.size(); i++) {
if(strings.get(i).length()%2==0){
resultStrings.add(strings.get(i));
resultStrings.add(strings.get(i));
}
else{
resultStrings.add(strings.get(i));
resultStrings.add(strings.get(i));
resultStrings.add(strings.get(i));
}
}
for (int i = 0; i <resultStrings.size()-1;) {
if(resultStrings.get(i).equals(resultStrings.get(i+2)))
{System.out.print(resultStrings.get(i)+" "+resultStrings.get(i)+" "+resultStrings.get(i));
System.out.println();
i+=3;
}
else
{System.out.print(resultStrings.get(i)+" "+resultStrings.get(i));
System.out.println();
i+=2;
}
}
}
}