Java 如何以不同格式打印GCD

Java 如何以不同格式打印GCD,java,printing,while-loop,greatest-common-divisor,Java,Printing,While Loop,Greatest Common Divisor,我试图让用户输入两个整数,并让消息说 “第一个整数”和“第二个整数”的GCD为“GCD” 我所有的计算都是正确的,但它只是打印出所有值的num1 import java.util.Scanner; public class Assignment3 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.pri

我试图让用户输入两个整数,并让消息说 “第一个整数”和“第二个整数”的GCD为“GCD”

我所有的计算都是正确的,但它只是打印出所有值的num1

import java.util.Scanner;


public class Assignment3
{

    public static void main(String[] args)

    {

        Scanner scan = new Scanner(System.in);

        System.out.print("Enter the first integer: ");
        int num1 = scan.nextInt();

        System.out.print("Enter the second integer: ");
        int num2 = scan.nextInt();

        while (num1 != num2)
        {
            if (num1> num2)
            num1 = num1 - num2;
            else
            num2 = num2 - num1;


            }


        System.out.println("The gcd of" + num1 + " and " + num2 + " is " + num1);

    }


}

在while循环中,检查num1!=num2,因此当执行println时,num1将具有与num2相同的值。

“但它只是打印出所有值的我的num1“为什么不呢?在循环中修改
num1
num2
,循环的退出条件是
num1
等于
num2
。如果要打印
num1
num2
的原始值,请在循环之前打印它们,或保存它们的副本,以便以后打印。