В чём проблема? Если есть проблема в комментариях(понимании действий), тогда объясните. Спасибо.
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 {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));//считал с консоли
ArrayList < String > list = new ArrayList< String >();//создал массив
int max = 0; //переменная для дальнейшего вычисления максимальной длины
for (int i = 0; i < 5; i++) { // заставляем проверять массив до конца (i<5)
list.add(i, reader.readLine()); //добавили инфу с консоли в конец массива
if(list.get(i).length() > max) //если длина строки массива больше, чем максимальное значение, то
max = list.get(i).length();// можем приравнять её к переменной max, таким образом под данной переменной уже самое длинное слово
}
for (int i = 0; i < list.size(); i++) { //проверяем весь массив
if(list.get(i).length() >= max)//если какой то эллемент длиннее, или равен max значению, тогда
System.out.println(list.get(i)); // выводим на экран эту строку/слово
}
}
}