问题:
小明妈妈每天给他2.5元,他都会存起来,但是每当这一天是存钱的第五天或者5的倍数时,他都会花6块。问:多少天能存100元。
分析:
A:小明妈妈每天给他2.5元
double dayMonday = 2.5;
B:他都会存起来
double daySum = 0;
C:从第一天开始存储
int result = 1;
D:经过多少天,小明才可以存到100元
double result = 100;
E:这一天是存钱的第五天或者5的倍数的话,他会花6元钱
daySum -= 6;
由此隐含一个问题,如果不是5的倍数的话,钱要累加
daySum += dayMonday;
F:由于不知道多少天,用死循环,一旦超过100元就退出循环
代码:
1 public class Test { 2 public static void main(String[] args) { 3 //每天要存储的钱是2.5元 4 double dayMonday = 2.5; 5 6 //存钱的初始化值是0 7 double daySum = 0; 8 9 //从第一天开始存储 10 int dayCount = 1; 11 12 //最终存储不少于100就不存储了 13 int result = 100; 14 15 //由于不知道多少天,用死循环,一旦超过100元就退出循环 16 while(true) { 17 //累加钱 18 daySum += dayMonday; 19 20 //一旦超过100元就退出循环 21 if(daySum >= result) { 22 System.out.println("共花了"+dayCount+"天存储了100元"); 23 break; 24 } 25 if(dayCount %5 == 0) { 26 //花去了6元钱 27 daySum -= 6; 28 System.out.println("第"+dayCount+"天花了6元"); 29 } 30 //天数变化 31 dayCount++; 32 } 33 } 34 }
实现: