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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄敬璇 中级黑马   /  2015-5-2 10:53  /  2407 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

小芳的妈妈每天给她2.5元钱,她都会存起来, 但是,每当这一天是存钱的第5天或者5的倍数的话,
她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。

7 个回复

倒序浏览
顶顶顶  递归吗
回复 使用道具 举报
class XiaoLianXi{
    public static void main(String[] args){
        double money=2.5;//定义double类型的记录金额
        int day=0;//记录天数
        while (money<=100)//条件判断
        {
            
            money+=2.5;//money每天自增
            
            if (day%5==0 )//条件判断
            {
                money-=6; // 只要满足这个条件,就-6,再累加天数  否则就直接累加天数
                 day++;//天数累加
            }else
            {
                 day++;

            }
            
        }
        System.out.println(day);//输出应该74
    }
}
回复 使用道具 举报
andre 发表于 2015-5-2 11:05
class XiaoLianXi{
    public static void main(String[] args){
        double money=2.5;//定义double ...

谢谢啦,学会了
回复 使用道具 举报
两种方法可以计算出结果
一种通过循环
一种通过递归,其实递归也算是循环的思想。

  1. public class XiaoHuaCunQian {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                 System.out.println(collectMoney());
  8.                 System.out.println(collectMoney_1());
  9.         }
  10.         /**通过循环计算结果*/
  11.         public static int collectMoney() {
  12.                 double count = 0;
  13.                 int n = 1;
  14.                 while (n > 0) {

  15.                         count += 2.5;

  16.                         if (n % 5 == 0) {
  17.                                 count -= 6;
  18.                         }
  19.                         if (count >= 100) {
  20.                                 return n;
  21.                         }
  22.                         n++;

  23.                 }
  24.                 return -1;
  25.         }

  26.         public static int n = 0;
  27.         public static double count = 0;
  28.         /**通过递归计算结果*/
  29.         public static int collectMoney_1() {
  30.                 count += 2.5;
  31.                 n++;
  32.                 if (n % 5 == 0) {
  33.                         count -= 6;
  34.                 }
  35.                 if (count < 100) {
  36.                         collectMoney_1();
  37.                 }
  38.                 return n;
  39.         }
  40. }
复制代码
回复 使用道具 举报
学习~感谢分享!
回复 使用道具 举报
Dylon 发表于 2015-5-4 23:52
两种方法可以计算出结果
一种通过循环
一种通过递归,其实递归也算是循环的思想。

递归挺绕人的~ :)
回复 使用道具 举报
看这里 http://bbs.itheima.com/thread-174282-1-1.html (出处: 黑马程序员IT技术论坛)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马