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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?
  1. public class Test10 {
  2.         /*
  3.          *
  4.          * 分析:
  5.          * 1.变量的分析:若一次购买一瓶可乐,则购买次数即购买可乐的瓶数,记为 count;
  6.          *                          因为一人一瓶可乐,所以手里剩下的可乐数即够喝的人数,记为  p;
  7.          *                         还有一个关键变量,即瓶盖的数量,记为  k;
  8.          * 2.过程的分析:假设我们一瓶一瓶的不停的购买可乐,每次购买计数增加1,当拥有3个瓶盖时,满足条件兑一瓶可乐(注意兑的这一瓶也是有瓶盖的),
  9.          *                         继续购买可乐,再次拥有3个瓶盖时,又满足条件再去兑一瓶,如此下去一直到可乐数量够28个的时候就停止购买。
  10.          * 3.条件的分析:每次购买一瓶可乐当做循环一次,count+1,当满足兑换条件时,即当瓶盖 k=3 时,兑换一瓶可乐,这时候k重置为1,
  11.          *                         可乐数量p+1,然后继续循环,直到可乐数量 p=28,跳出循环;
  12.          */
  13.         public static void main(String[] args) {
  14.                 int count = 0;                        // 总共买的可乐数
  15.                 int p = 0;                                // 够喝的人数
  16.                 int k = 0;                                // 瓶盖数
  17.                
  18.                 do {                                        //用循环模拟买可乐的过程
  19.                         count++;
  20.                         p++;                                //够喝的人数增加1
  21.                         k++;                                //可乐数增加1
  22.                         if (k == 3 ) {                //判断,有三个瓶盖的话就去换一瓶可乐!
  23.                                 p++;                        //可乐数增加1
  24.                                 k = 1;                        //瓶盖数变为1
  25.                         }
  26.                 }while(p < 28);//可乐数达到要求的话就跳出循环
  27.                 System.out.println("够28人喝需要买的可乐瓶数为:" + count);
  28.         }
  29. }
复制代码




19 个回复

倒序浏览

java中一般不用do while 吧
回复 使用道具 举报
Gqg 发表于 2016-3-25 00:18
java中一般不用do while 吧

可以用的,怎么方便、容易理解就可以用。
回复 使用道具 举报
受教了{:3_53:}
回复 使用道具 举报

共同进步
回复 使用道具 举报
楼主怎么遇到的题目呀?我在自学中,没看见这样的题目
回复 使用道具 举报
guyulei 发表于 2016-3-25 14:56
楼主怎么遇到的题目呀?我在自学中,没看见这样的题目

这个是入学考试题目
回复 使用道具 举报
huhemingtiancai 来自手机 中级黑马 2016-3-27 00:04:20
8#
这是在干什么
回复 使用道具 举报

这是考试流程中遇到的题目哟,为了部落!
回复 使用道具 举报
酷酷酷!
回复 使用道具 举报
大哥,你这个我晕了,赶紧去技术区哪里问啊,这里人们水平不行啊
回复 使用道具 举报
我想问下,有没有考虑过如果只剩下2个瓶子,也是可以换一瓶可乐的?
回复 使用道具 举报
怪人长 发表于 2016-3-27 00:13
这是考试流程中遇到的题目哟,为了部落!

我是联盟,而且这题很简单那!!!
回复 使用道具 举报
考试题?
回复 使用道具 举报
菊花爆满山 来自手机 中级黑马 2016-3-28 12:24:22
15#
我也遇到了这题,不知道你有没有遇到阿拉伯数字转换成中文的题目
回复 使用道具 举报
lennycxy 来自手机 中级黑马 2016-3-28 16:27:37
16#
路过的,看下
回复 使用道具 举报
菊花爆满山 发表于 2016-3-28 12:24
我也遇到了这题,不知道你有没有遇到阿拉伯数字转换成中文的题目

这个真没遇到过呢
回复 使用道具 举报
luomoss 发表于 2016-3-27 17:19
我想问下,有没有考虑过如果只剩下2个瓶子,也是可以换一瓶可乐的?

如果只剩下2个瓶子,加上最后一个人的刚好够换1瓶,也就是就是够29人喝。但是如果只剩下1个瓶子,不继续买1瓶的话,就只够27人喝了。代码我看没问题... ...
回复 使用道具 举报
ck1993 来自手机 中级黑马 2016-3-29 00:11:15
19#
可以用递归做哦
回复 使用道具 举报
完全看不懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马