为了账号安全,请及时绑定邮箱和手机立即绑定

关于比较的逻辑!!!!!

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。


public class Programme6 {

 

    public static void main(String[] args) {

       int bigDivisor=0;//定义最大公约数

       int multiple=0;//定义最小公倍数

       System.out.println("请输入两个整数:");

       Scanner scanner = new Scanner(System.in);

       int input1 = scanner.nextInt();//获取第一个数

       int input2 = scanner.nextInt();//获取第二个数

       multiple=input1*input2;//这个值保存,求公约数后,方便求得最小公倍数

       int temp =1;// 交换用的中间数

      

       if (input2 >input1) {//确保第一个数不小于第二个数     (这块是不是有问题,怎么确保第一个数一定比第二数小?如果第一个数比第一数大,那这个程序是不是没法执行了??/)??????????????????????????????????????????????????????????????????????????????

           temp=input1;

           input1=input2;

           input2=temp;

       }

      

       while (temp!=0) { //求余结果不等于零,就一直循环

            temp=input1%input2;//求余结果

            input1=input2;//大的数已经没用了,用小的数替代

            input2=temp;//把求余的结果赋值给小的数

       }

       bigDivisor=input1;//最后一次求余结果为零时,被求余的数

       multiple=multiple/bigDivisor;

       System.out.println("最大公约数是:"+bigDivisor );

       System.out.println("最小公倍数是:"+multiple);    

       scanner.close();

    }

}


正在回答

1 回答

那块没有问题的,if 是条件语句,只有小括号里的表达式为true ,才会执行大括号里的代码。如果第一个数已经比第二个数大了,就不会执行if代码了,因为那个的目的就是交换值


0 回复 有任何疑惑可以回复我~
#1

慕瓜453346 提问者

非常感谢!!!!
2018-09-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165234    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

关于比较的逻辑!!!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信