По факту считываются строки 5 раз, и каждая записывается в список, не могу понять, что ему не нравится.
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<>();
ArrayList<String> longStrings = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int length = 0;
int index = 0;
//добавление 5 элементов в список
for (int x = 0; x < 5; x++){
strings.add(reader.readLine());
}
//нахождение самой длинной строки
for (int x = 0; x < strings.size(); x++){
String string = strings.get(x);
int temp = string.length();
if (length < temp){
length = temp;
index = x;
}
}
longStrings.add(strings.get(index));
strings.remove(index);
//нахождение строк той же длины и вывод результата
for (int x = 0; x < strings.size(); x++){
String string = strings.get(x);
int temp = string.length();
if (length == temp){
longStrings.add(strings.get(x));
}
}
for (int x = 0; x < longStrings.size(); x++){
System.out.println(longStrings.get(x));
}
}
}