您的位置:首页 > 编程语言

小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来 * 每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?

2015-01-11 23:36 495 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
/**
* 代码已经运行过,并且能够实现功能。
* 我的一些系统配置:JDK使用的是1.7版本。开发工具eclipse。
*
* 简介:小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来
* 		每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?
*
* 要求:用户需要输入需要达到的预期存款,计算出需要多少天完成
*
* @author XiaoLu
*/

package examtest;
import java.util.*;
public class Test10 {

public static void main(String[] args) {
int i = input();
System.out.println(i);
//调用方法
method(i);
}

/**
* 功能:接收用户输入的数据,并且限定用户输入的是一个小于139数,并且大于0的数。
*
* 注:经验证,用户能存到的最大整数为139,当然这是舍去掉小数的结果
*
* 参数:返回用户输入的整数
*/
public static int input(){
//new一个对象
Scanner sc = new Scanner(System.in);
//做循环判断,当输入的值满足要求时推出,否则重新输入
while(true){
//打印提示语句
System.out.println("----请输入一个小于139数,并且大于0的数-----");
int t = sc.nextInt();
//判断是不是符合要求
if(t<=139 && t>0){
//输入正确,直接返回
return t;
}
else
System.out.println("------输入的数据不符合要求,请重新输入------");
}
}

/**
* 功能:计算出用户要存到预定的金额时,所需要的时间
*
* 思维方法:
* 		1、定义一个for循环,当存入的金额大于等于预定金额时结束循环
* 		2、判定是不是星期天:
* 			是:将之前所有的金额加上星期天的金额除以二
* 			否:每天累加10元钱
*
* @param money
*/

public static void method(int money){
//定义一个变量,用于接收存钱的和
int sum =0;
//定义一个变量,用于判断循环,作为记住天数用
System.out.println("测试");
int i;
for(i=1;sum <money;i++ ){
//当是星期天是,用掉的是之前的总和加上今天的20总和的一半
if(i%7==0){
sum = (sum+20)/2;
//				System.out.println(sum);
}
else
sum +=10;
//			System.out.println(i+"..."+sum);
}
//因为i在上面循环结束时,自加了一次,所以这里需要 i-- 一次。
System.out.println("第"+(--i)+"天能存满"+sum);
}
}

代码下载地址:http://download.csdn.net/detail/lmh820822/8351843
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐