大半夜写了2个小时都没写对,求老师补全代码

大半夜写了2个小时都没写对,求老师补全代码

public class LoopDemo {
    public static void main(String[] args) {
        //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        int ge,shi,bai;
        //使用for循环
        for(int n=200;n<=300;n++){
            //取出百位数
        bai=n/100;
            //取出十位数
        shi=(n%100)/10;
            //取出个位数
        ge=(n-200)%10;
            //计算三个数字之积
            int ji=bai*shi*ge;
            //计算三个数字之和
            int he=bai+shi+ge;
            //如果积等于42并且和为12,则将满足条件的数输出
 if((ji==42)&(he==12))
 System.out.println(bai+shi+ge);
        }
    }
}

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

流程是没有问题的,个位数的获取可以改成ge=n%100%10,这样更有通用性,所有的三位数都可以。自己能做出来肯定印象深,挺好的。继续加油!

  • 为啥不直接余10,100除10除不尽吗?
    2017-11-04 18:04:05
  • 你是说个位数吗?个位数的通用性写法是ge=n%100%10
    2017-11-05 20:38:01
啦啦呐呐 2017-07-29 18:00:37

int ge,shi,bai,ji,he;

//使用for循环

       for(int z=200;z<=300;z++){

//取出百位数

     bai=z/100;

//取出十位数

 shi=(z%100)/10;

//取出个位数

 ge=(z%100)%10;

//计算三个数字之积

           ji=bai*shi*ge;

//计算三个数字之和

he=bai+shi+ge;

           //如果积等于42并且和为12,则将满足条件的数输出

if((ji==42)&(he==12))

System.out.println(z);

       }


提问者 奥观海同志 2017-07-12 01:13:10

//终于试出来了,不过看上去很复杂,请老师帮忙简化一下可以吗?

public class LoopDemo {
    public static void main(String[] args) {
        //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        int ge,shi,bai;
        //使用for循环
        for(int n=200;n<=300;n++){
            //取出百位数
        bai=n/100;
            //取出十位数
        shi=(n%100)/10;
            //取出个位数
        ge=(n-200)%10;
            //计算三个数字之积
            int ji=bai*shi*ge;
            //计算三个数字之和
            int he=bai+shi+ge;
            //如果积等于42并且和为12,则将满足条件的数输出
 if((ji==42)&(he==12))
 System.out.println(bai+""+shi+ge);
        }
    }
}

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师