С помощью циклов ищу индексы самой длинной и самой короткой строки.
Для вывода итога сравниваю индексы самой длинной и самой короткой строки, и вывожу строку с меньшим индексом (т.е. ту что была раньше).
При этом будь несколько одинаковых по длине строк - в индексы записывается позиция самой первой встреченной.
Работает правильно (проверяла и с несколькими длинными и с несколькими короткими), но валидатор все равно ругается по 3 и 4 пункту.
Поискала в обсуждениях и помощи - не нашла тех проблем у себя, которые обычно помогают справиться с валидатором.
package com.javarush.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самые-самые
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
list.add(reader.readLine());
}
int min = 0, max = 0;
for (int i = list.size()-1; i > 0; i--) {
if (list.get(min).length() > list.get(i).length())
min = i;
}
for (int i = list.size()-1; i > 0; i--) {
if (list.get(max).length() < list.get(i).length())
max = i;
}
System.out.print(min > max ? list.get(max) : list.get(min));
}
}