Коллеги, кто-нибудь может объяснить что не так с кодом? Да, уже понял, что есть более простое решение, но это то тоже отвечает условиям задачи.
package com.javarush.task.task07.task0708;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/*
Самая длинная строка
*/

public class Solution {
    private static List<String> strings;

    public static void main(String[] args) throws Exception {

       ArrayList<String> lst=new ArrayList<String>();
        Scanner sc = new Scanner(System.in);
int maxLengthIndex=0; //индекс строки с максимальным кол-вом символов
int maxLength=0; //максимальное кол-во символов
        for (int i=0;i<5;i++){
            lst.add(sc.nextLine());
        }

        for (int i=0;i<lst.size();i++){//определяем строку с максимальным кол-вом символов
            int lngth=lst.get(i).length();
            if (i!=maxLengthIndex && lngth>maxLength){maxLengthIndex=i;maxLength=lst.get(i).length();}
        }

        System.out.println(lst.get(maxLengthIndex));
        for (int i=0;i<5;i++){ //провряем наличие других строк с таким же кол-вом символов
            if(maxLength==lst.get(i).length() && i!=maxLengthIndex){
                System.out.println(lst.get(i));
            }
        }

    }
}