练习:
需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱。
这个是老师的分析:
分析:
A:小芳的妈妈每天给她2.5元钱
double dayMoney = 2.5;
B:她都会存起来
double daySum = 0;
C:从第一天开始存储
int dayCount = 1;
D:经过多少天,小芳才可以存到100元钱。
double result = 100;
E:这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
说明要判断dayCount的值,如果对5整除就减去6元钱。
daySum -= 6;
由此还隐含了一个问题,就是如果不是5的倍数天的话,钱要累加
daySum += dayMoney;
F:因为不知道是多少天,所以我用死循环,一旦超过100元我就退出循环。
[代码]java代码:
?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | public class LianShou
{
/*
需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱。
自己的分析:
每天给2.5元: double money = 2.5
每天存起来:double sum = 0 ;sum += 2.5
第5天或者5的倍数,则花去6元,对天数进行统计:
int day = 1 ;
day++ ;
存到100元达到目标:money <= 100;
因为在达到100元这个目标之前,要一直对money和day进行增加,
所以要一个死循环,while(true)
*/
public static void main(String[] args)
{
double money = 2.5;
int day = 1;
double sum = 0;
while(true)
{
sum += money;
// 先对money进行判断
if(sum>=100)
{
System.out.println(" 总共花了"+day+"存到不少于100元");
break;// 达到目标后,退出循环
}
if(day%5==0)
{
sum -=6;
System.out.println(" 第"+day+"天"+"花了6元");
}
day ++; // 进行完上面所有判断后,天数才增加
}
}
}
|
原文链接:http://www.apkbus.com/blog-833059-61651.html
打开App,阅读手记