Java – 索尼子 https://bakasoniji.com 笨蛋索尼子的博客 Mon, 10 Jun 2019 07:51:48 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.5 意义不明数学题-2 https://bakasoniji.com/2016/03/08/%e6%84%8f%e4%b9%89%e4%b8%8d%e6%98%8e%e6%95%b0%e5%ad%a6%e9%a2%98-2.html https://bakasoniji.com/2016/03/08/%e6%84%8f%e4%b9%89%e4%b8%8d%e6%98%8e%e6%95%b0%e5%ad%a6%e9%a2%98-2.html#respond Wed, 09 Mar 2016 00:22:00 +0000 http://sonic1997.urpgs.com/?p=205

//啤酒2元一瓶,四个瓶盖可换一瓶啤酒,2个空瓶也可换一瓶啤酒。10元最多可以喝多少瓶啤酒?
public class beer {
	public static final int INITIAL_MONEY = 10,  //题目说有10块钱
							CAPS_FOR_BEER = 4,   //题目说4个瓶盖可以换1瓶啤酒
							BOTTLES_FOR_BEER = 2,//题目说2个瓶子可以换1瓶啤酒
							BEER_PRICE = 2;      //啤酒2块钱1瓶
	public static void main(String[] args) {
		int drunk = 0,  //最开始还没喝酒,所以0瓶酒被喝了
			money = INITIAL_MONEY, //于是现在你有题目说的10块钱了
			bottles = 0, //还没有瓶子
			caps = 0;    //还没有盖子
		
		//如果还有钱买酒,或者还有足够的瓶盖,或者还有足够的瓶子,就继续去买酒
		while (money >= BEER_PRICE || caps >= CAPS_FOR_BEER || bottles >= BOTTLES_FOR_BEER){
			if (money >= BEER_PRICE){ //如果有足够的钱买酒
				money -= BEER_PRICE; //扣掉酒钱
			}else if(caps >= CAPS_FOR_BEER){ //如果有足够的瓶盖
				caps -= CAPS_FOR_BEER; //扣掉盖子
			}else if(bottles >= BOTTLES_FOR_BEER){ //如果有足够的瓶子
				bottles -= BOTTLES_FOR_BEER; //扣掉瓶子
			}
			
			//喝酒...
			drunk++;    //多喝了1瓶酒
			bottles++;  //多了1个空瓶子
			caps++;     //多了一个盖子
		}
		System.out.println("喝了" + drunk + "瓶\n"
						 + "还剩下" + caps + "个盖子\n"
						 + "还剩下" + bottles + "个瓶子\n"
						 + "还剩下" + money + "块钱。");
		/* 喝了15瓶
		 * 还剩下3个盖子
		 * 还剩下1个瓶子
		 * 还剩下0块钱。
		 */
	}

}

数学老师:「…」

]]>
https://bakasoniji.com/2016/03/08/%e6%84%8f%e4%b9%89%e4%b8%8d%e6%98%8e%e6%95%b0%e5%ad%a6%e9%a2%98-2.html/feed 0