Программа должна выводить на экран самую короткую строку, если она была раньше самой длинной Программа должна выводить на экран самую длинную строку, если она была раньше самой короткой. С позициями сверху проблема. Что не так?
public class Solution {
    public static void main(String[] args) throws Exception {
        String c = "";
        ArrayList<String> gap = new ArrayList<>();
        int indexmin = 0;
        int indexmax = 0;
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i<10; i++){
            gap.add(sc.nextLine());
        }
        String max = Collections.max(gap);
        String min = Collections.min(gap);

            for (int i = 0; i < gap.size(); i++) {
                c = gap.get(i);
                if (c.length() <= min.length()) {
                    indexmin = gap.indexOf(c);
                } else if (c.length() >= max.length()) {
                    indexmax = gap.indexOf(c);
                }

            }
        if (indexmax > indexmin){
            System.out.println(gap.get(indexmin));
        }else{
            System.out.println(gap.get(indexmax));
        }

    }
}