java最小公倍数和最大公约数

求java程序:求最小公倍数和最大公约数,用java程序写的最小公倍数和最大公约数,急需,谢谢

import java.util.Scanner;

class GreatestCommonDivisor {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
System.out.println(getGreatestCommonDivisor(a,b));

}
public static int getGreatestCommonDivisor(int a,int b)
{
    if(b==0)
        return a;
    if(a<b)
        return getGreatestCommonDivisor(b,a);
    else
        return getGreatestCommonDivisor(b,a%b);
}
//最小公倍数*最大公约数=a*b 通过此类方法求最小公倍数

}

http://www.weixueyuan.net/view/6131.html

很奇特的算法
http://blog.csdn.net/liu602182699/article/details/44630005

看代码:

 import java.util.Scanner;

public class Test{
    public static void main(String[] args){
        int a,b,max;
        Scanner scan = new Scanner(System.in);
        System.out.print("请键入一个整数");
        a = scan.nextInt();
        System.out.print("请再键入一个整数");
        b = scan.nextInt();
        MaxNum mn = new MaxNum();
        max = mn.maxNum(a,b);
        int min = a*b/max;
        System.out.println("最大公约数:" + max);
        System.out.println("最小公倍数:" + min);
    }
}
class MaxNum{
    public int maxNum(int x,int y){
        int temp;
        if(x<y){
            temp=x;
            x=y;
            y=temp;
        }
        while(y!=0){
            if(x==y){
                return x;
            }else{
                int z = x%y;
                x=y;
                y=z;
            }
        }
        return x;
    }
}