Где может быть ошибка?
package com.javarush.task.task14.task1420;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
/*
НОД
*/
public class Solution {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
String firstLine = scanner.nextLine();
String secondLine = scanner.nextLine();
int firstNum = Math.abs(Integer.parseInt(firstLine));
int secondNum = Math.abs(Integer.parseInt(secondLine));
if(Math.abs(firstNum) ==0 || Math.abs(secondNum) ==0) throw new Exception();
int maxDel = 0;
ArrayList<Integer> firstDel = new ArrayList<>();
ArrayList<Integer> secondDel = new ArrayList<>();
ArrayList<Integer> result = new ArrayList<>();
if (firstNum > secondNum) {
maxDel = secondNum;
} else {
maxDel = firstNum;
}
for (int i = 2; i <= maxDel; i++) {
if (firstNum % i == 0) {
firstDel.add(i);
}
if (secondNum % i == 0) {
secondDel.add(i);
}
}
for (int i = 0; i < firstDel.size(); i++) {
int curr = firstDel.get(i);
for (int j = 0; j < secondDel.size(); j++) {
if (curr == secondDel.get(j)) {
result.add(curr);
}
}
}
Collections.sort(result);
int a = result.size() - 1;
System.out.println(result.get(a));
}
}