Last validation fails . The results are fine.

package com.codegym.task.task14.task1420;
/*
GCD
*/
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));
Integer firstUserInput = Integer.parseInt(reader.readLine());
Integer secondUserInput = Integer.parseInt(reader.readLine());
if(firstUserInput <= 0 || secondUserInput <= 0){
throw new Exception("Input is not a positive Int");
}
//GCD - Greatest Common Divisor
//divident The one that is divided into parts
//DIVISOR the one that describes into how many parts to divide the divident
//quotient the whole part that is possible to divide the divident
//remainder what remained as a less then a one whole part
Integer divident; // need to ifgure which of inputs value is bigger - it will represent the divident
Integer divisor; // should get value from user input - the smallest value of two inputs
Integer remainder;
Integer GCD; // will figure out the formulae while typing...
if (firstUserInput > secondUserInput) {
divident = firstUserInput;
divisor = secondUserInput;
} else {
divident = secondUserInput;
divisor = firstUserInput;
}
//while / for loop here (while remainder > 0 for example)
remainder = divident % divisor;
Integer catchLastRemainder = 0;
while (remainder > 0) {
divident = divisor;
divisor = remainder;
catchLastRemainder = remainder;
remainder = divident % divisor;
}
GCD = catchLastRemainder;
System.out.println(GCD);
return;
}
}

||".||means either or^means either or but not both. Those conditional operators (&&, ||, ^) also work on the individual bits of numbers, you will learn about this later.