на мой взгляд всё корректно выводится. Подскажите в каком направлении копать.
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 {
ArrayList<String> min = new ArrayList<String>();
ArrayList<String> strings = new ArrayList();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++)
strings.add(reader.readLine());
min.add(strings.get(0));
for (int i = 1; i < strings.size(); i++) {
if (strings.get(i).length() < min.get(0).length()) {
min.set(0, strings.get(i));
strings.remove(i);
}
}
System.out.println(min.get(0));
for (int i = 1; i < strings.size(); i++) {
if (strings.get(i).length() == min.get(0).length())
System.out.println(strings.get(i));
}
}
}