A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Stars√永恒 中级黑马   /  2014-2-26 19:14  /  1790 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

小明的妈妈每天会给他20元零花钱。

平日里,小明先花掉一半,再把一半存起来。

每到周日,小明拿到钱后会把所有零花钱花掉一半。

请编程计算,从周一开始,小明需要多少天才能存够100元?

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

倒序浏览
  1. public class Money
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int day = 1;//从第一天开始开始存钱
  6.                 int money = 0;
  7.                 while (money<100)
  8.                 {
  9.                         if (day%7!=0)
  10.                                 money+=10;
  11.                         else if(day%7==0)
  12.                                 money = (money + 20)/2;
  13.                         if (money >= 100)//当存的钱大于或者等于100时,break后天数不再累加跳出循环
  14.                                 break;
  15.                         day++;
  16.                 }
  17.                 System.out.println("小明需要" + day + "天才能存够100元");
  18.         }
  19. }
复制代码
希望能帮到你!!!

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
  1. import java.util.Calendar;


  2. public class test {

  3.         public static void main(String[] args) {
  4.                 // TODO Auto-generated method stub
  5.                 float in=0.0f;
  6.                 int day=0,i=1;

  7.                 while(true)
  8.                 {
  9.                         if(i%7==0){
  10.                                 in+=20;
  11.                                 in/=2;
  12.                                 i++;
  13.                                 day++;
  14.                                 continue;
  15.                         }
  16.                                
  17.                         in+=10;
  18.                         day++;
  19.                         i++;
  20.                         if(in>=100)
  21.                                 break;
  22.                        
  23.                 }
  24.                 System.out.println("需要"+day+"天");
  25.         }

  26. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
  1. class MoneyDemo {
  2.         public static void main(String[] args) {

  3.                 Son son = new Son();

  4.                 int day = 1;

  5.                 while(true) {
  6.                         if(son.getNowMoney() < 100) {
  7.                                 if(day % 7 == 0) {
  8.                                         int nowMoney = son.getNowMoney();
  9.                                         son.setNowMoney(0);
  10.                                         son.save((20 + nowMoney) / 2);
  11.                                 }
  12.                                 else
  13.                                         son.save(10);
  14.                                 day++;
  15.                                 System.out.println("存的钱:" + son.getNowMoney());
  16.                                 continue;
  17.                         }
  18.                         break;
  19.                 }
  20.                
  21.                 System.out.println("所需天数 : " + day);
  22.         }
  23. }

  24. class Son {

  25.         private int nowMoney = 0;

  26.         public void save(int money) {
  27.                 this.nowMoney += money;
  28.         }

  29.         public int getNowMoney() {
  30.                 return this.nowMoney;
  31.         }

  32.         public void setNowMoney(int money) {
  33.                 this.nowMoney = money;
  34.         }
  35. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
public class PinMoney {
        public static void main(String[] args) {
               
                System.out.println("小明需要"+cunqian(1,0)+"天才能存够100元");
        }
        //方法返回值类型时int型.参数类表int day,int money
        public static int cunqian(int day,int money){
                //定义一个循环,看是否满足
                while (money<100) {
                        if(day%7!=0){
                                money+=10;
                        }else{
                                money=(money+20)/2;
                        }
                        //运算过后再判断是否满足,满足就跳出循环,防止day经再次循环后多加.
                        if(money>=100){
                                break;
                        }
                                day++;
                }
                        return day;
        }
}

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马