基于匿名对象+链式编程+创建方法+三元运算符+if语句+键盘录入求两个数的最大公约数和最小公倍数:Java语言每日一练—第13天

本文是Java编程的每日练习,通过匿名对象、链式编程、创建方法、三元运算符、if语句和键盘录入,实现求两个数的最大公约数和最小公倍数。文中详细介绍了解题思路、注意事项以及完整源代码。

??博客首页:

??欢迎关注??点赞 ?? 收藏 留言 ?? 欢迎讨论!

??本文由原创,优快云首发!

??系列专栏: 《Java每日一练》

??首发时间:2022年5月4日

:热爱Java学习,期待一起交流!

???作者水平有限,如果发现错误,求告知,多谢!

??有问题可以私信交流!!!

??导航小助手

目录

☆引言☆

?练习题:

运行过程和结果

解题思路:

注意:

完整的源代码

总结:


☆引言☆

大家好!我是。关注博主不迷路,带你一起共进步。今天是Java语言每日一练第12天,我们大家一起来做今天的Java零基础开始精进的练习题。还是那句话,每日一练,我们共同学习,共同进步。感兴趣的小伙伴可以订阅专栏哦!《Java每日一练》。

该练习题中涉及到了创建匿名对象,链式编程、创建方法,三元运算符,for循环,if语句以及调用方法等知识面,你全部掌握这些知识了吗,是如何运用这些知识做这道题的呢?下面我们就开始做题吧!!!

练习题:

【求指定两个数的最大公约数和最小公倍数】

运行过程和结果

示例1:12和6

开始接受数据

输入两个整数

运行结果

示例2:456和248

开始接受数据

输入两个整数

运行结果

示例3:24和32

开始接受数据

输入两个整数

运行结果

解题思路:

1.提示并接受输入的两个整数用int类型a和b,接受数据使用匿名内部类创建对象使用链式编程接受

2.分别创建两个求最大公约数和最小公倍数的方法

2.1创建最大公约数方法maxDivisor,返回值类型为int,参数传递int类型a和b

2.1.1使用三元运算符判断a和b的大小并将两个数的最小值赋值给int类型变量min

2.1.2使用for循环对该数进行自减循环,并使用if语句进行判断是否能被a和b同时整除

2.1.3循环过程中return并返回符合条件的值

2.2创建最小公倍数方法multiple,返回值类型为long,参数传递int类型的a和b

2.2.1使用三元运算符判断a和b的大小并将两个数额最大值赋值给int类型变量max

2.2.2使用for循环对该数进行自加循环,并使用if语句进行判断是否能同时整除a和b

2.2.3循环过程中return并返回符合条件的值

3.在主方法中调用两个方法

3.1调用求最大公约数的方法,参数中传递接受的两个整数,并将结果赋值给int类型的变量d

3.2调用求最小公倍数的方法,参数中传递接受的两个整数,并将结果赋值给long类型的变量x

4.打印并输出两个数的最大公约数和最小公倍数

注意:

1.最大公约数是两个数能同时整除一个数并且是能整除的数中的最大数,最小公倍数是能把两个数同时整除的最小数,此处不要弄反了

2.最大公约数是自减我们用int类型变量,最小公倍数是自加,数值无法确定,使用long类型变量

完整的源代码

public class Test13 {
public static void main(String[] args) {
//1.提示并接受输入的两个整数用int类型a和b,接受数据使用匿名内部类创建对象使用链式编程接受
System.out.println("请您输入两个整数:");
int a =new Scanner(System.in).nextInt();
int b =new Scanner(System.in).nextInt();
//3.在主方法中调用两个方法
//3.1调用求最大公约数的方法,参数中传递接受的两个整数,并将结果赋值给int类型的变量d
int d=maxDivisor(a, b);
//3.2调用求最小公倍数的方法,参数中传递接受的两个整数,并将结果赋值给long类型的变量x
long x=multiple(a, b);
//4.打印并输出两个数的最大公约数和最小公倍数
System.out.println("这两个整数的最大公约数是:"+d);
System.out.println("这两个整数的最小公倍数:"+x);
}
//2.分别创建两个求最大公约数和最小公倍数的方法
//2.1创建最大公约数方法maxDivisor,返回值类型为int,参数传递int类型a和b
public static int maxDivisor(int a,int b){
//2.1.1使用三元运算符判断a和b的大小并将两个数的最大值赋值给int类型变量min
int min = a<b?a:b;
//2.1.2使用for循环对该数进行自减循环,
for (int i = min; i>=0; i--) {
//并使用if语句进行判断是否能被a和b同时整除
if(a%i==0&&b%i==0){
//2.1.3循环过程中return并返回符合条件的值
return i;
}
}
return 0;//这句代码不会执行,让编译通过
}
//2.2创建最小公倍数方法multiple,返回值类型为long,参数传递int类型的a和b
public static long multiple(int a,int b){
//2.2.1使用三元运算符判断a和b的大小并将两个数额最大值赋值给int类型变量max
int max=a>b?a:b;
//2.2.2使用for循环对该数进行自加循环,
for (int i = max; ;i++) {
//并使用if语句进行判断是否能同时把a和b整除
if(i%a==0&&i%b==0){
//2.2.3循环过程中return并返回符合条件的值
return i;
}
}
}
}

总结:

本题主要重点在于熟练掌握创建匿名对象,链式编程、创建方法,三元运算符,for循环,if语句以及调用方法等知识面,并根据清晰的逻辑思路做出本题。那么你是否做对了呢?你的答案正确吗?

好啦!今天的练习就到这里。看吧这么努力的你又学到了很多,新的一天加油鸭!!!

你的点赞是对我最大的鼓励。

你的收藏是对我文章的认可。

你的关注是对我创作的动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值