Я решил задачу, но всё равно не понял. Почему нельзя было создать второй список для строк, длина которых равна максимальной? При таком решении проверка мне выдаёт, что я не вывел максимальную строку и строки с длиной, равной максимальной. Буду рад, если поможете разобраться.
public class Solution {
private static List<String> strings = new ArrayList<String>();
public static void main(String[] args) throws Exception {
ArrayList<String> listmax = new ArrayList<String>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i=1; i<6; i++) {
String str = br.readLine();
strings.add(str);
}
String max = strings.get(0);
for (int i=1; i<strings.size(); i++) {
String str = strings.get(i);
if (str.length()>max.length()) {
max = str;
if (str.length()==max.length()) {
listmax.add(str);
}
}
}
for (int i=0; i "< "listmax.size(); i++) {//знак меньше в кавычках т.к. сайт обрезает код на нём
System.out.println(listmax.get(i));
}
}
}