Знаю можно короче, но вот просто интересно, что в этом коде не так, что валидатор его не воспринимает??? Какие и как только я не вводил строки, все согласно условиям + не выполняется первое условие.
public class Solution {
        private static ArrayList<String> strings = new ArrayList<String>();
        private static String max = "";
        private static String min = "";
        private static int intMin = Integer.MAX_VALUE;
    public static void main(String[] args) throws IOException {
        BufferedReader read = new BufferedReader(new InputStreamReader(System.in));

        for (int i=0 ; i<10 ; i++){                         //считываем с клавиатуры
            String s = read.readLine();
            strings.add(s);
        }
        if (getIndexOfMax()>getIndexOfMin())                        //чей индекс меньше то и выводим на экран
            System.out.println(strings.get(getIndexOfMin()));
        else
            System.out.println(strings.get(getIndexOfMax()));
    }


        public static int getIndexOfMax(){                  // находим индекс самой длинной строки
            for (int j=0;j<strings.size(); j++){
                if (max.length()<strings.get(j).length())
            max=strings.get(j);
        }
       return (strings.indexOf(max));
    }


       public static int getIndexOfMin(){                   //находим индекс самой короткой строки
            for(int x = 0; x < strings.size(); x++){
                int t = strings.get(x).length();
                if(t < intMin){
                    intMin = t;
            }
        }
            for(int x = 0; x < strings.size(); x++){
                if(intMin == strings.get(x).length()){
                    min = strings.get(x);
          }
        }
        return strings.indexOf(min);
    }



}