哈喽大家好,这里是java小白成长记!
最近巩固java的基础语法,昨天分享了一个简单的数学算式,今天再来看一道的数学应用题,锻炼一下编程思维,并且还能复习基础语法。
应用题:小明妈妈每天给小明2.5元,小明准备存起来,但是当天数是5或者5的倍数时,他会花6元,问小明多少可以存够100元?
思路:首先看到小明每天都要存钱,应该定义一个变量 money存放钱数。因为到了特定的天数小明还会花钱,因此还要定义一个个变量day记录天数,而且问题就是求天数,这两个变量不难想到吧。
小明每天存一点,直到小明存够100元,这就需要用到循环了。循环结束条件就是money>=100。这里题目说的是存够100,不一定刚好是100元,可能比100多一点。只要钱数不够100,就一直循环。
因为当天数和5 有关时小明会花钱,所有就用if选择语句来判断一下,当day% 5==0的时候,表示天数是5 的倍数,要花6元。其他时候都是存2.5元。
试着写代码:
首先定义天数的变量day:int day=0;
再定义钱数的变量money:double money=0.0;因为每天存2.5,有小数,因此使用double不用int。
然后就可以进入循环了,我这里使用while循环:
while(money<100){
day +=1;
money+=2.5;
if(day %5 ==0){
money -=6;
}
}
System.out.println(day+"天存了"+money+"元");
注意不要写成这样:
while(money<100){
day +=1;
if(day %5 ==0){
money -=6;
}else{
money+=2.5;
}
}
System.out.println(day+"天存了"+money+"元");
这样是错的!!!因为妈妈每天都会给小明2.5元,就算他花6元,妈妈依然给了2.5元,如果想用上面的方法,小明其实亏了6-2.5=3.5元。
下面看下整体代码:
结果:
第二种方法的正确代码:
结果:
这样最后的结果才正确,所以虽然题目不难,还是要注意别犯糊涂了。
今天的分享就到这里了,有问题欢迎评论和私信。