Не пойму в чем дело. Можно переписать, конечно, чтобы инициализация была в main. Но хотелось бы понять, почему этот вариант не проходит.
package com.javarush.task.task07.task0709;
/*
Выражаемся покороче
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solution {
public static ArrayList<String> strings = new ArrayList<String>();
public static int minNum = 0;
public static void readList() throws Exception{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++) {
strings.add(reader.readLine());
if (i == 0)
minNum = strings.get(i).length();
else
if (strings.get(i).length() < minNum) {
minNum = strings.get(i).length();
}
}
}
public static void printMin() throws Exception {
for (int i = 0; i < 5; i++) {
if (strings.get(i).length() == minNum)
System.out.println(strings.get(i));
}
}
public static void main(String[] args) throws Exception {
readList();
printMin();//напишите тут ваш код
}
}