Where is the bug ?
package com.codegym.task.task14.task1420;
/*
GCD
*/
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 {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> number1 = new ArrayList<>();
ArrayList<Integer> number2 = new ArrayList<>();
ArrayList<Integer> common = new ArrayList<>();
int input1 = Integer.parseInt(br.readLine());
if (input1 < 0)
{
throw new NumberFormatException("Numbers can't be negative");
}
int input2 = Integer.parseInt(br.readLine());
if (input2 < 0)
{
throw new NumberFormatException("Numbers can't be negative");
}
GCD(input1, input2);
}
catch (Exception e)
{
System.out.println(e);
}
}
static void GCD(int a, int b)
{
ArrayList<Integer> number1 = new ArrayList<>();
ArrayList<Integer> number2 = new ArrayList<>();
ArrayList<Integer> common = new ArrayList<>();
for (int i = 1; i <= a; i++)
{
if (a % i == 0)
{
// System.out.print(i + "\t");
number1.add(i);
}
}
System.out.println();
for (int i = 1; i <= b; i++)
{
if (b % i == 0)
{
// System.out.print(i + "\t");
number2.add(i);
}
}
Collections.reverse(number1);
Collections.reverse(number2);
System.out.println();
for (int i : number1
) {
// System.out.print(i + "\t");
}
// System.out.println();
for (int i : number2
) {
// System.out.print(i + "\t");
}
if (number1.size() < number2.size())
{
for (int i = 0; i < number1.size(); i++)
{
for (int j = 0; j < number1.size(); j++)
{
if (number1.get(i) == number2.get(j))
{
common.add(number1.get(i));
break;
}
}
}
}
else if (number2.size() < number1.size())
{
for (int i = 0; i < number2.size(); i++)
{
for (int j = 0; j < number2.size(); j++)
{
if (number2.get(i) == number1.get(j))
{
common.add(number2.get(i));
break;
}
}
}
}
System.out.println("CGD : " + common.get(0));
}
}