Здравствуйте. Все варианты, которые я вводил, работают. Но валидацию программа не проходит. Помогите, пожалуйста, найти ошибку.
listMax.add(0, ""); //список с максимальными строками
for (int i = 0; i < 5; i++) //заполняем обычный список
{
strings.add(scanner.nextLine());
}
for (int i = 0; i < 5; i++) //заполняем список с максимальными строками
{
if (strings.get(i).length()>listMax.get(0).length()) //сравниваем строку из обычного списка и перезаписываем первое значение листа с максимальными строками, если получаемое значение больше
{
listMax.set(0,strings.get(i));
}
else if (strings.get(i).length()==listMax.get(0).length()) //если значение равно, просто добавляем
{
listMax.add(strings.get(i));
}
}
for (int i = 0; i < listMax.size(); i++) // вывод на экран
{
System.out.println(listMax.get(i));
}
package com.javarush.task.task07.task0708;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;
/*
Самая длинная строка
*/
public class Solution {
private static ArrayList<String> strings = new ArrayList<String>();
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
ArrayList <String> listMax = new ArrayList<String>();
listMax.add(0, "");
for (int i = 0; i < 5; i++){
strings.add(0, scanner.nextLine());
}
for (int i = 0; i < 5; i++){
if (strings.get(i).length()>listMax.get(0).length()){
listMax.set(0,strings.get(i));
}
else if (strings.get(i).length()==listMax.get(0).length()){
listMax.add(strings.get(i));
}
}
for (int i = 0; i < listMax.size(); i++){
System.out.println(listMax.get(i));
}
}
}