哪里出了问题啊

哪里出了问题啊

public class LoopDemo {

    public static void main(String[] args) {

int g,s,b,x,y;

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

g = i/100;

s = (i/10)%10;

b = i%100;

    x = g+s+b;

    y = g*s*b;

    if ((x==12)&(y==42)) {

    System.out.println(i);

    }

   

}

}

}


正在回答 回答被采纳积分+1

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

2回答
好帮手慕小脸 2020-10-07 17:53:53

同学你好,这里同学取出个位和百位有误,按照同学的写法,比如i=231,获取个位为231/100=2

获取百位231%10=1,由此可见得到的结果相反,这里修改代码如下所示:

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

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

  • 提问者 慕用4094305 #1
    我知道定义有问题,但是不影响i的结果啊 我是这段代码跑不出来
    2020-10-08 13:51:09
  • 提问者 慕用4094305 #2
    刚又跑出来了
    2020-10-08 13:56:34
  • 好帮手慕小脸 回复 提问者 慕用4094305 #3
    同学你好,那同学现在是解决问题了吗? 祝学习愉快~
    2020-10-08 14:41:35
慕丝1539783 2020-10-07 10:48:45

要学会自己排除

int g, s, b, i;
i = 234;
g = i / 100;
s = (i / 10) % 10;
b = i % 100;
System.out.println(g);
System.out.println(s);
System.out.println(b);

上面这段代码就是模拟你每次循环时候所得到的个、十、百。假设i为234,得到g、s、b,自己运行下,思考下问题出在哪里。

  • 要是实在想不明白,回复我,我再跟你说。
    2020-10-07 10:51:18
  • 提问者 慕用4094305 回复 慕丝1539783 #2
    我知道定义有问题,但是不影响i的结果啊 我是这段代码跑不出来
    2020-10-08 13:51:46
  • 提问者 慕用4094305 回复 慕丝1539783 #3
    刚又跑出来了。。。
    2020-10-08 13:56:13
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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