問題:
小明媽媽每天給他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 }
實現: