Мне кажется, что не прав в данном случае валидатор, не пропускающий код по третьему пункту, потому что на практике он очень даже выодит длиннейшую стоку на экран, просто как член списка ArrayList, а не как просто String. Помоему - дело в этом.
package com.javarush.task.task07.task0708;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Самая длинная строка
*/
public class Solution {
private static List<String> strings;
public static void main(String[] args) throws Exception {
strings = new ArrayList<String>(5);
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list1 = new ArrayList<String>();
for (int i = 0; i < 5; i++){
strings.add(i, reader.readLine());
}
String max = strings.get(0);
for (int i = 0; i < strings.size() - 1; i++){
if (max.length() < strings.get(i + 1).length())
max = strings.get(i + 1);
}
for (int i = 0; i < strings.size() - 1; i++){
if (max.length() == strings.get(i + 1).length())
list1.add(strings.get(i + 1));
}
for (int i = 0; i < list1.size(); i++)
System.out.println(list1.get(i));
}
}