返回值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | //求指定两个数的最大公约数和最小公倍数 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()方法中的代码,是可以不执行循环,所以需要在循环外进行书写返回值。具体可查看下图中的注释,结合代码思路更清晰哦~
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧