java接收用户从键盘上输入的两个整数,并依次实现以下功能:输入正确时,求出两个数的最大公约数、最小公倍数;输入格式不正确时,编写相应代码处理异常,代码应当支持循环输入,直到满足数据格式要求为止。

接收用户从键盘上输入的两个整数,并依次实现以下功能:输入正确时,求出两个数的最大公约数、最小公倍数;输入格式不正确时,编写相应代码处理异常,代码应当支持循环输入,直到满足数据格式要求为止。


  public static void main(String[] args) {
       while (true){
           System.out.println("请输入两个整数(回车后输入第二个):");
           Scanner sc1 = new Scanner(System.in);
           Scanner sc2 = new Scanner(System.in);
           if (sc1.hasNextInt() && sc2.hasNextInt()) {
               int m = sc1.nextInt();
               int n = sc2.nextInt();
               method(m,n);
               break;
           }else{
               System.out.println("您输入的数据不合法,请重新输入两个整数");
           }

       }
    }
    public static void method(int m,int n){
        int max = 0, min = 0;//定义最大公约数、最小公倍数
        if (m > n)//将m记为两数间的较小值
        {
            int t = m;
            m = n;
            n = t;
        }
        for (int i = 1; i <= m; i++) {
            if (m % i == 0 & n % i == 0)
                max = i;
        }
        min = m * n / max;
        System.out.println("最大公约数为:" + max + ",最小公倍数为:" + min);
    }

结果输出:
请输入两个整数(回车后输入第二个):
4
65
最大公约数为:1,最小公倍数为:260

请输入两个整数(回车后输入第二个):
a
您输入的数据不合法,请重新输入两个整数
请输入两个整数(回车后输入第二个):