黑马程序员技术交流社区
标题: 关于小明存款的编程疑问,结果貌似不对? [打印本页]
作者: XiaoS 时间: 2014-1-4 22:08
标题: 关于小明存款的编程疑问,结果貌似不对?
本帖最后由 XiaoS 于 2014-1-4 23:13 编辑
/*在论坛看到这样一个题目:小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?我的代码输出结果是14天,应该是第13天存款就达到100元了,请问我应该怎么修改代码呢?*/
class Save {
public static void main(String[] args) {
int sum = 0;//定义存款总数
int i = 1;//定义天数
while (sum < 100) {
if (i%7 == 0) //判断是否到了周日
sum = (sum + 20)/2;//存款减半
else
sum += 10;//每天存款增加10元
i++;//天数自增
}
System.out.println(i);//输出天数
}
}
作者: 七录斋 时间: 2014-1-4 22:25
System.out.println(i-1)就ok了,因为你看你程序中,i=1时,sum=0,所以sum=100时,i要减1.
个人拙见,进攻参考,如有错误,还望赐教。
作者: 李兴 时间: 2014-1-4 22:28
看一下这个代码吧
- class Save {
- public static void main(String[] args) {
- int sum = 0;//定义存款总数
- int i = 0;//定义天数
- while (sum < 100) {
- i++;
- if (i%7 == 0) //判断是否到了周日
- sum = (sum + 20)/2;//存款减半
- else
- sum += 10;//每天存款增加10元
- }
- System.out.println(i);//输出天数
- }
- }
复制代码
你的代码到13天应经存够钱了,但是又徒劳的i++;了
作者: 诺忔。初禾、 时间: 2014-1-4 22:34
- class dmo {
- public static void main(String[] args) {
- int sum = 0;// 定义存款总数
- int i = 1;// 定义天数
- while (sum < 100) {
- if (i % 7 == 0) // 判断是否到了周日
- sum = (sum + 20) / 2;// 存款减半
- else
- sum += 10;// 每天存款增加10元
- if (sum < 100) {
- i++;// 天数自增
- }
- }
- System.out.println(i);// 输出天数
- }
- }
复制代码
作者: daoyua 时间: 2014-1-4 23:06
多算了1个i++,满足条件后,你还加了一天,所以多了一天,其实你开始把i设置为0,在while里面先++就行了
作者: 净坛使者 时间: 2014-1-4 23:11
class Save {
public static void main(String[] args) {
int sum = 0;//定义存款总数
int i = 0;//定义天数
while (sum < 100) {
if (i%7 != 0) //判断是否到了周日
{ sum += 10;}//每天存款增加10元
else{
sum = (sum + 20)/2;//存款减半
}
i++;//天数自增}
}
System.out.println(i-1);//输出天数
}
}
作者: 小悠久 时间: 2014-1-5 08:35
本帖最后由 小悠久 于 2014-1-5 08:41 编辑
你看下我的代码,你将i++放到拉后面,所以当到100时它会再加上1天,所以输出的是i+1天
class Test16 {
public static void main(String[] args) {
int sum = 0;//定义存款总数
int i = 0;//定义天数
while (sum < 100)
{
i++;//天数自增
if (i%7 == 0) //判断是否到了周日
{
sum = (sum + 20)/2;//存款减半
}
else
{
sum += 10;//每天存款增加10元
}
}
System.out.println(i);//输出天数
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |