| 
 
| 10、 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐, * 够28人喝?假如是50人,又需要买多少瓶可乐?
 (需写出分析思路)
 思路:
 1.该需求中拥有几个变量?一个是盖子的数目,一个是需要购买的可乐数目.
 一个是可以喝的可乐数.
 2.定义一个函数,接受一个int值,这个值就是我们需要满足多少人喝可乐.
 3.那么对于多少人和可乐,和买多少可乐之间如何产生联系呢?也就是,我们
 喝的可乐数,肯定< 可供喝可乐的数目.(如果等于就是够喝了,够喝了还需要计算吗?)
 总结:
 1.逻辑题目,就是考验人的一个逻辑分析能力,对于代码的需求并不高.
 2.既然是逻辑,那么你给了我什么,你需要我给你什么?就本题而言,客户
 给我一个满足多个人喝可乐的人数,而需求我返回我买多少可乐够他们喝.
 3.那么我们定义函数的时候,就应该把客户的需求做为一个参数传递进来,因为这个是他指定的,那么我就在返回值的时候给他返回一个他需要的购买数量.
 4.然后进入功能函数之后,我只有一个对方给定的一个人数,那么我要想,我如何能够让这个给定的人数与我的程序产生关联呢?
 5.我够买的数量是我要返回的值,那么怎么样我就需要购买呢?瓶盖够三个自然不用购买,那么谁会变化?自然是可以喝的可乐增加,瓶盖变成1;不够三个的话,我就要去买了,买了之后,可以喝的可乐就多了1,瓶盖也多1.
 6.当可以喝的可乐都和人数相等了,就不用再买了...但是这里为什么没有<=person呢?如果等于了,条件还满足,还要执行.都够喝了,执行还有意义吗?
 
 思考:
 1.逻辑,逻辑,不行我就画画好吗?
 2.不行我就把朋友兄弟都模拟参与进来可以吗?
 3.逻辑练习需要一个过程,也急不得,多多的适应吧...
 * */
 public class Demo10 {
 public static void main(String[] args) {
 int person = 13;  //自定义需求.
 int cola = run(person); //接受需要购买的次数.
 System.out.println(cola);
 }
 
 public static int  run(int person) {
 int lid = 0;   //盖子数
 int cola = 0;   //可以喝的可乐数
 int gouMai = 0;  //需要购买的可乐数.
 for(;cola < person; cola ++)  //无论如何,可以喝的可乐都在增加.
 {
 if(lid == 3)  //当盖子够三个了,盖子数又定义为一个.
 {             //可以喝的可乐在上面已经增加了.
 lid = 1;
 }
 else
 {
 gouMai ++;//如果不够三个,那么就要去买了,买一瓶,盖子自然增加一个.
 lid ++;
 }
 }
 return gouMai;  //把购买的次数返回.
 }
 }
 
 | 
 |