/*
需求:小芳的妈妈每天给她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+"元");
}
}
|
|