Не понимаю, почему третье условие не засчитывает. При проверке в любых вариациях выводит все, как надо.
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> strings = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int min = 0;
for (int i = 0; i < 5; i++){
String s = reader.readLine();
strings.add(i, s);
if (min < strings.get(i).length()){
min = strings.get(i).length();
}
}
for (int i = 0; i < 4; i++){
if(min > strings.get(i + 1).length()){
min = strings.get(i + 1).length();
}
}
for (int j = 0; j < strings.size(); j++){
if (min == strings.get(j).length()){
System.out.println(strings.get(j));
}
}
}
}