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