/*
НОД
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = 0, b = 0, min = 0, i = 2, Nod = 1;
String n;
try {
n = reader.readLine();
a = Integer.parseInt(n);
n = reader.readLine();
b = Integer.parseInt(n);
if ((a < 0) || (b < 0)) throw new Exception();
if (a < b)
min = a;
else min = b;
while (i < min) {
if ((a % i == 0) && (b % i == 0)) {
Nod = Nod * i;
a = a / i;
b = b / i;
} else i++;
}
System.out.println(Nod);
}catch(Exception e){}
}
}
Не проходит проверку по 2 пункту:
"В случае если введенные строки невозможно преобразовать в положительные целые числа, должно возникать исключение."
package com.javarush.task.task14.task1420;
/*
НОД
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = 0, b = 0, min = 0, i = 2, Nod = 1;
String n;
try {
n = reader.readLine();
a = Integer.parseInt(n);
n = reader.readLine();
b = Integer.parseInt(n);
if ((a <= 0) || (b <= 0)) throw new Exception();
if (a < b)
min = a;
else min = b;
while (i < min) {
if ((a % i == 0) && (b % i == 0)) {
Nod = Nod * i;
a = a / i;
b = b / i;
} else i++;
}
System.out.println(Nod);
}catch(Exception e){}
}
}