返回值
//求指定两个数的最大公约数和最小公倍数
System.out.println("请输入两个整数");
int a=new Scanner(System.in).nextInt();
int b=new Scanner(System.in).nextInt();
int c=zdgys(a,b);
long d=zxgbs(a,b);
System.out.println("最大公因数:"+c);
System.out.println("最小公倍数:"+d);
}
private static int zdgys(int a,int b) {
int min=a<b?a:b;
for(int i=min;i>=1;i--){
if(a%i==0&& b%i==0){
return i;
}
}
return 0;
}
private static long zxgbs(int a,int b) {
int max=a<b?b:a;
for (long i=max;;i++) {
if(i%a==0&&i%b==0) {
return i;
}
}
两个都是有返回值的,为什么上面的有一个返回0,下面的就不要写返回0呢
4
收起
正在回答
1回答
同学你好,zdgys()方法中的代码,是可以不执行循环,所以需要在循环外进行书写返回值。具体可查看下图中的注释,结合代码思路更清晰哦~

祝学习愉快!
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
这两个不都是同样的方法吗,你的注释里,怎么一个有return0,一个没有呢
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星