求最大公约数和最小公倍数,为什么无法输出

输入有若干组,给定2个正整数,求他们的最大公约数和最小公倍数

img

1、首先要知道scanner.hasNext()原理,调用这个方法后会阻塞,程序监听是否有新的输入(也就是你在控制台交互中有没有新的输入,比如再输入一个整数),如果没有输入,就不会进入你的while循环体内部,所以你的程序没有正确的输出结果;如果有输入才会进入你的while循环体内部。
2、针对你的需求,要输入多组整数,你可以有两个思路,第一种就是提前输入一个整数,代表你接下来要计算多少组整数的最大公约数和最小公倍数,然后while循环控制的时候,用这个整数控制;第二种就是while循环你直接写成while(true),然后在while循环体内部每计算完一组数的最大公约数和最小公倍数,就提示是否继续,如果是,则接着读取数据,如果否,则break跳出循环。
3、然后你的输出结果也就是while循环外的system.out.println语句,应该放在循环体内部,这样每计算完一组,就会输出一次
希望对您有所帮助,满意的话,采纳一下吧

把 System.out.println(max+" "+min); 写到while循环里面

把while去掉就可以了