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