关于4-4编程题练习

来源:5-1 嵌套while循环应用

javaoHelloWorld

2017-08-11 22:01:57

package com.imooc;


public class NumberDemo {
 public static void main(String[] args) {


  for (int bai = 2; bai <=3; bai++)// 使用for循环
   for (int shi = 1; shi <= 9; shi++)
    for (int ge = 1; ge <= 9; ge++)
     if ((bai + shi + ge) == 12) {
      if ((bai * shi * ge) == 42)
       System.out.println("" + bai + shi + ge);
     }
 }
}

老师你看这样可以吗 我觉得很简洁

写回答

3回答

好帮手慕珊

2017-08-12

你好!代码虽然看上去比较简洁,但是这是用了三重循环,效率是比较低的,其实有一重循环就可以了。按照作业中的思路,定义一个for循环,循环范围在200-300之间,然后分别取出循环变量这个三位数的个位、十位和百位,再写判断语句进行判断就可以了。判断语句不用写两个,两个判断条件之间用运算符&&连接起来。可以尝试用这种办法写一下。祝学习愉快!

0
havaoHelloWorld
h 非常感谢!
h017-08-20
共1条回复

Call_Me_Andy哇

2017-08-11

大括号最好都加上,

0

Call_Me_Andy哇

2017-08-11

你的十位个位0是不是忘记考虑了?这种方式也是可以的,不过一般很少这样去写的

0
hall_Me_Andy哇
回复
havaoHelloWorld
h 嗯嗯,这里条件因为有了积你就过滤了0这是可以的,相当与你是先排除了20*和 2*0的数,然后再去寻找满足条件的数,这种处理方法也是可以的,就像助教说的一样,三重循环了,虽然也能得出效果,但是效率确实会很低
h017-08-12
共3条回复

0 学习 · 7235 问题

查看课程