A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

/*
需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
       每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
    请问,经过多少天,小芳才可以存到100元钱。
分析:
  A:小芳的妈妈每天给她2.5元钱。定义每天的增量,初始化变量值为2.5。即:double dayMoney = 2.5;
  B:她都会存起来, 定义总量,初始化变量值为0。即:double daySum = 0;
  C:每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱;
   a:需要我们判断这一天是不是5的倍数。
    所以先定义天数,即:int dayCount =1;
    if (dayCount % 5 ==0) { daySum -=6;}
   b:如果这一天不是5的倍数。那么继续存钱。
    daySum += dayMoney;
  D:经过多少天,小芳才可以存到100元钱。因为不知道天数,所以用while死循环来实现。
  E:小芳存到100元钱。定义最终变量:double endMoney = 100;
*/
class WhileDemo {
public static void main(String[] args) {
  //小芳的妈妈每天给她2.5元钱。定义每天的增量,初始化变量值为2.5。
  double dayMoney = 2.5;
  
  //她都会存起来,定义总量
  double daySum = 0;
  
  //因为从第一天开始就已经开始存钱了。所以定义天数、
  int dayCount = 0;
  
  //定义花费了多少钱,初始化值为0
  double costMoney =0;
  
  //用while循环实现;
  while (true) {
   dayCount ++;
   daySum += dayMoney;
   
   if (dayCount %5 == 0) {
    daySum -= 6;
    costMoney += 6;
    System.out.println("第"+dayCount+"天花了6元钱");
   }
  
   if (daySum >= 100) {
    System.out.println("第"+dayCount+"天攒的钱不小于100元");
    //System.out.println("第"+dayCount+"天攒的钱是:"+daySum+"元");
    break;
   }
   System.out.println("第"+dayCount+"天攒的钱是:"+daySum+"元");
  
  }
  System.out.println("总共花了"+costMoney+"元钱");
  System.out.println("第"+dayCount+"天攒的钱是:"+daySum+"元");
}

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马