总是说最大公约数为56,大家看看哈

大家能帮我看看这是啥问题吗?不知道为什么我输入一个56,一个72,总是说最大公约数为56。谢谢啦

package zy2;

import java.util.Scanner;

public class C05_5_14 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    //5.14
    Scanner input =new Scanner (System.in);
    System.out.println("请输入一个正整数");
    int n1 =input.nextInt();
    System.out.println("请输入另一个正整数");
    int n2 =input.nextInt();
    int g=0,d;
    if (n1else d=n2;
    Boolean isFalse =true;
    while (true) {
        if (n1%d==0&&n2%d==0) {
            System.out.println("n1,n2的最大公约数为:"+n2);
            break;
        }
        while (isFalse) {
            if(n1%d!=0)
             d--;
        else if (n2%d!=0)
             d--;
        else 
            isFalse =false;
            }

}
}
}

System.out.println("n1,n2的最大公约数为:"+d);
d才是最大公约数,不是n2,n2的值都没变,一直是56啊

1.d是最大公约数
2.搜一搜辗转相除法,你这样一个一个的去试效率太低了