老师帮我看一下哪里有问题,为什么运行不停

来源:4-7 编程练习

慕设计1050535

2020-02-03 21:58:40

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

写回答

1回答

好帮手慕阿满

2020-02-04

同学你好,首先i= i%10和i=i%10在循环中将i的值改变了,也就是i不是从200到300之间的值,所以可能不能得出题目中的效果。这里i不能在循环中被改变,如果求个位数的值,可以直接写为ge = i%100%10;。另外十位数的取值改为shi = i%100/10;如:

http://img.mukewang.com/climg/5e38e12309357fb805470343.jpg

建议同学修改一下再试试。

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

0

0 学习 · 11489 问题

查看课程