请老师看一下,为什么结果输出为200-300之间依次输出,而不是只输出237和273,

请老师看一下,为什么结果输出为200-300之间依次输出,而不是只输出237和273,

package com.imooc.operator;

public class ForDemo {

    public static void main(String[] args) {
        int ge,shi,bai,n;
        //定义bai,shi,ge,三个数字
        for(n=200;n<=300;n++) {
        bai=n/100;
        //取出百位
        shi=n%100/10;
        //取出十位;
        ge=n%10;
        //取出个位
        int mul=bai*shi*ge;
        //计算三个数的乘积
        int sum=bai+shi+ge;
        //计算三个数的和
        //判断是否三个数的和=42并且三个数的乘积等于12
        if((sum==12)&(mul==42));{
        System.out.println(n);
        }
            
        }
    }
    }

同时请附上一个正确答案,谢谢

正在回答

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

1回答

你好!你的代码写得没什么大问题,只是if语句后面多了一个分号,如下图所示,把分号去掉就可以了。因为if语句后面如果不写大括号,那么只有一条语句跟在if语句后面执行。因此,if语句后有分号,相当于满足if条件执行了一个空语句。后面的输出语句和if没有关系,也就不受if语句的控制,会把每次循环的结果都输出。

http://img1.sycdn.imooc.com//climg/5cf33ab50001bd1003810122.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

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

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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