Выводит все правильно, подскажите плиз, почему валидатор ругается?
package com.javarush.task.task07.task0727;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/**
Меняем функциональность
Задача: Программа вводит строки, пока пользователь не введёт пустую строку (нажав enter). Потом она конвертирует строки в верхний регистр (Мама превращается в МАМА) и выводит их на экран.
Новая задача:
Потом программа строит новый список. Если в строке чётное число букв, строка удваивается, если нечётное - утраивается.
Программа выводит содержимое нового списка на экран.
Пример ввода:
Кот
Коты
Я
Пример вывода:
Кот Кот Кот
Коты Коты
Я Я Я
Требования:
2. Программа должна вывести столько же строк, сколько было введено.
3. Если в строке было четное число букв, то необходимо удвоить строку (как в примере).
4. Если в строке было нечетное число букв, то необходимо утроить строку (как в примере).
5. Программа должна прекращать считывать данные с клавиатуры как только пользователь введет пустую строку и нажмет Enter.
*/
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)
{
String s = strings.get(i);
resultStrings.add(i, s + s);
}
if(strings.get(i).length() % 2 != 0)
{
String s = strings.get(i);
resultStrings.add(i, s + s + s);
}
}
// for (int i = 0; i < strings.size(); i++)
// {
// String string = strings.get(i);
// resultStrings.add(string.toUpperCase());
// }
for (int i = 0; i < resultStrings.size(); i++)
{
System.out.println(resultStrings.get(i));
}
}
}