Дополнительно был создан в отдельном файле класс MyException extends Exception чтобы ловить исключение при вводе отрицательного числа.
public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader (new InputStreamReader(System.in));
        int x ;//= Integer.parseInt(reader.readLine());
        int y ;//= Integer.parseInt(reader.readLine());
        List<Integer> mass1 = new ArrayList<>();
        List<Integer> mass2 = new ArrayList<>();
        List<Integer> mass3 = new ArrayList<>();
        //reader.close();
        int NOD=1;
        try {
            if ((x = Integer.parseInt(reader.readLine()))<=0) throw new MyException(x);
            if ((y = Integer.parseInt(reader.readLine()))<=0) throw new MyException(y);

            for (int i = 1; i <= x; i++) {
                if (x % i == 0) {
                    mass1.add(i);
                }
            }
            for (int j = 1; j <= y; j++) {
                if (y % j == 0) {
                    mass2.add(j);
                }
            }
            for (Integer k : mass1) {
                for (Integer g : mass2) {
                    if (k.equals(g))
                        mass3.add(k);
                }
                NOD = mass3.get(mass3.size() - 1);
            }
            System.out.println(NOD);
        }
        catch (NumberFormatException | MyException st){
            System.out.println(st.toString());
        } finally {
            reader.close();
        }
    }
}