JAVA——接收用户从键盘上输入的两个整数,求两个整数的最大公约数和最小公倍数,并输出。


  1. 建立一个类,在类里面完成对两个数求最大公约数和最小公倍数。最大公约数可以用辗转相除法直到两数的余数为0,即可得到两个数的最大公约数。而最小公倍数就可以直接让两个数相乘,再除以最大公约数。这里要注意,在求最大公约数的时候,两个数的值都发生了改变,所以我们要用其他的两个变量将两个数一开始的值存起来,再来进行求最大公约数。最后再用两个函数返回最大公约数和最小公倍数的值即可。
    public class beishu {
        int a,b,m,n,c;
        public beishu(int a,int b) {
            this.a=a;
            this.b=b;
            m=a;
            n=b;
        }
        public void Compare() {
            while(b!=0) {
                c=a%b;
                a=b;
                b=c;
            }
        }
        public int getyue() {
            return a;
        }
        public int getbei() {
            return m*n/a;
        }
    }
  2. 主函数主要难点在于要输入,我用的是Scanner函数,但是再用函数之前要先在开头加上import java.util.Scanner;否则就会报错。这里最好还是将输入的两个数进行比较,把较大的数放在第一个变量,就可以直接引用求最大公约数的函数了。然后输出最大公约数,和最小公倍数即可。
    import java.util.Scanner;
    public class beishumain {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int a,b,i;
            System.out.println("请输入想要比较的数:");
            Scanner sc=new Scanner(System.in);
            a=sc.nextInt();
            b=sc.nextInt();
            if(a<b) {
                i=a;
                a=b;
                b=i;
            }
            beishu c1=new beishu(a,b);
            c1.Compare();
            System.out.println(c1.getyue());
            System.out.println(c1.getbei());
        }
    }
  3. 实验结果为

     

     

     

     


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM