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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 史世锋 中级黑马   /  2015-9-8 21:32  /  903 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

前两天看到其他童鞋帖子,自己动手写了一下。
package com.itheima;

public class Test011
{

        /**
         *28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,
     *那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
     *
     *思路:1、定义三个变量,num、count、sum。
     *       count用来记录瓶盖数
     *       sum用来记录总共得到多少瓶可乐
     *       num来记录买了多少瓶可乐,如果num<4,则需要买num瓶,
     *     2、如果num>4,先买3瓶可乐,得到3个瓶盖,
     *       可兑换1瓶可乐(判断sum == 人数),这时有1个瓶盖
     *     3、再买1瓶(判断sum == 人数),可得到1个瓶盖,这时2个瓶盖
     *     4、再买1瓶(判断sum == 人数),可得到1个瓶盖,这时3个瓶盖可兑换1瓶可乐(判断sum == 人数),兑换后这时1个瓶盖
     *     5、再买1瓶(判断sum == 人数),可得到1个瓶盖,这时2个瓶盖
     *     6、再买1瓶(判断sum == 人数),可得到1个瓶盖,这时3个瓶盖可兑换1瓶可乐(判断sum == 人数),兑换后这时1个瓶盖
     *     .....
         * @param args
         */
        public static void main(String[] args)
        {
                int personNum = 50;
                int num = getNum(personNum);
                System.out.println(num);
                num = getNumMethod(personNum);
                System.out.println(num);
        }
        //获取需购买的瓶数
        public static int getNum(int PersonNum)
        {
                //如果人数少于4个人,则需要购买的瓶数就等于人数
                if(PersonNum < 4)
                        return PersonNum;
               
                //如果人数大于4,则先购买3瓶,定义三变量num、count、sun分别记录购买的可乐瓶数、瓶盖数、总共的可乐瓶数
                int num = 3, count = 3, sum = 3;
                for(int i = 0; sum != PersonNum; i++)
                {
                        //瓶盖够3个就兑换一次
                        if(count ==3)
                        {
                                sum++;
                                count = 1;
                                continue;
                        }
                        num ++;
                        count ++;
                        sum ++;
                }
                return num;       
        }
        //也可以将for循环换成while循环
        public static int getNumMethod(int PersonNum)
        {
                //如果人数少于4个人,则需要购买的瓶数就等于人数
                if(PersonNum < 4)
                        return PersonNum;
               
                //如果人数大于4,则先购买3瓶,定义三变量num、count、sun分别记录购买的可乐瓶数、瓶盖数、总共的可乐瓶数
                int num = 3, count = 3, sum = 3;
                while(sum != PersonNum)
                {
                        if(count ==3)
                        {
                                sum++;
                                count = 1;
                                continue;
                        }
                        num ++;
                        count ++;
                        sum ++;
                }
                return num;       
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马