Всем привет.
Я почитал комментарии под задачей и там все орут на 2-ой пункт и говорят, что не нужно писать try/catch. Не скрою я несколько попыток потратил и на 2 пункт тоже, но в итоге прошёл проверку использовав try/catch и обработав исключение, а не просто пробросив его.
А вот с 4 пунктом я так и не могу разобраться. Я проверил разные варианты ввода - все работает как и должно, но проверку не проходит. Я убрал лишний текст из вывода результата, но это не помогло.
Хэлп ми плиз!
package com.javarush.task.task14.task1420;
/*
НОД
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int n1, n2, nod;
System.out.println("Введите первое число");
while (true) {
try {
n1 = Integer.parseInt(reader.readLine());
if (n1 > 0) {
break;
}
else System.out.println("Повторите ввод");
} catch (Exception e) {
System.out.println("Повторите ввод");
}
}
System.out.println("Введите второе число");
while (true) {
try {
n2 = Integer.parseInt(reader.readLine());
if (n2 > 0) {
break;
}
else System.out.println("Повторите ввод");
} catch (Exception e) {
System.out.println("Повторите ввод");
}
}
int max = Math.max(n1, n2);
int min = Math.min(n1, n2);
while (true) {
int d1 = max % min;
if (d1 == 0) {
nod = min;
break;
}
else {
max = min;
min = d1;
}
}
System.out.println(nod);
//System.out.println("НОД чисел " + n1 + " и " + n2 + " равен " + nod);
}
}