在资料里找的分享下 /** * 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; //把购买的次数返回. } } 需写出分析思路)
|