Сперва отлавливал исключения и выводил на экран. Так я понял п.3 условий.
В коментах пишут, что ловить не нужно, только выбрасывать, это метод делает.
НОДы выдает.
Считывает не более 2-х строк.
На отрицательные числа и строки вылетает Exception.
package com.javarush.task.task14.task1420;
import javax.swing.plaf.IconUIResource;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
/*
НОД
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> list = new ArrayList<>();
int count1 = 0;
int count2 = 0;
int tmp = 0;
String str = buffer.readLine();
count1 = Integer.parseInt(str);
str = buffer.readLine();
count2 = Integer.parseInt(str);
tmp = Math.min(count1, count2);
for (int i = 1; i < tmp; i++) {
if ((count1 % i == 0) && (count2 % i == 0)) {
list.add(i);
}
}
tmp = Collections.max(list);
System.out.println(tmp);
}
}