老师 为什么我的输出结果是12呢??

老师 为什么我的输出结果是12呢??

public class LoopDemo {

    public static void main(String[] args) {

//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字

        int ge,shi,bai;

//使用for循环

        for(int i=200;i<=300;i++)

        {

//取出百位数

bai = i/100;

//取出十位数

shi = i%100/10;

//取出个位数

ge = i%10;

//计算三个数字之积

         int j = ge*shi*bai;   

//计算三个数字之和

int h = ge+shi+bai;

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

            if((j==42) && (h==12))

            System.out.println(ge+shi+bai);

           // System.out.println();

        }

}

}


正在回答

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

2回答

同学你好,在贴出代码中"ge、shi、bai"的定义都是int类型的数据,ge+shi+bai默认的计算方法是这几个int类型数据的求和而不是字符串的拼接,如果要达到同学所想要的效果,修改建议如下:

将"ge、shi、bai"之间添加一个空字符串达到字符串拼接的效果

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

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

吃吃吃鱼的猫 2019-05-05 19:21:14

同学你好,最后要输出i,不是各个位数的和。

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

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

  • 提问者 慕运维lh #1
    问啥我不能把这个这个数分开当成273来输出结果,个位是3 十位是7 百位是2.我此时同时分别输出百位十位个位这样也不就是273了吗。我这个错了,那请问如何改写输出语句才能达到我想要的效果呢?
    2019-05-05 21:12:20
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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