控制台输出语句没打印

代码输出语句在控制台什么都不输出

img

你是要while里面加了true,就会无限循环,你想使用break也不可以,应为根本就执行不到break那个语句,就算扣到负数,还是一直再减去1000,毕竟符合<5w,你可以将else if(moneySum<=50000){}改成else if(moneySum<=50000&&moneySum>0){}


但是在我看来这个题目根本用不到if,只需要while即可,如果你使用while还用if,会将慢运行速度,修改优化后的代码如下

public class Test {
    public static void main(String[] args) {
      double moneySum =100000;
      int count=0;
      while (moneySum>50000){
          moneySum *=0.95;
          count++;
      }
      while (moneySum>0){
          moneySum-=1000;
          count++;
      }
        System.out.println(count);
    }
    }

测试结果如下

img

你 while 死循环了
while 中if 是 >50000, else if 是 <=50000
最后面else中的 break 永远不会执行到,while 循环永远不会结束。
输出语句一直都没执行到

img