用java写一段代码。题目如下

士多店做活动,两个可乐瓶盖可以换一瓶可乐,你现在有10瓶可乐,最后你可以换多少的可乐?... 士多店做活动,两个可乐瓶盖可以换一瓶可乐,你现在有10瓶可乐,最后你可以换多少的可乐? 展开
 我来答
百度网友5981f51
2018-04-18
知道答主
回答量:20
采纳率:64%
帮助的人:9.7万
展开全部
//两种喝法
import java.util.Scanner;
public class Main2 {
    public static void main(String[] args) {
        MyCola cola = new MyCola(10, 0); //10瓶可乐,0个盖
        cola.drinkCola();
        cola.LoadDrinkCola();
    }
}

class MyCola{
    private int cola; //已有可乐
    private int bottle;//已有瓶盖
    public MyCola(int cola, int bottle) {
        super();
        this.cola = cola;
        this.bottle = bottle;
    }
    public void drinkCola(){        //不能借可乐喝法
        int sum = cola; //喝可乐总数
        bottle += cola; //已有瓶盖+马上喝光的可乐产生的瓶盖
        while(bottle>1){
            bottle = bottle -2;    //减俩瓶盖,+一瓶可乐,+一个瓶盖
            sum ++;    
            bottle++; 
        }
        System.out.println("共喝了"+(sum-1)+"瓶可乐");
        System.out.println("剩余"+bottle+"个瓶盖");
    }
    
    public void LoadDrinkCola(){ //借一瓶可乐喝法
        int sum = cola; 
        bottle += cola; 
        while(bottle>=1){
            bottle = bottle -2;    
            sum ++;    
            bottle++; 
        }
        System.out.println("共喝了"+sum+"瓶可乐");
        System.out.println("剩余"+bottle+"个瓶盖");
    }
}

雾明冰清
2018-04-18 · TA获得超过419个赞
知道小有建树答主
回答量:217
采纳率:33%
帮助的人:125万
展开全部

9瓶,写代码的话:


public class App {

    public static class Cola {
        /**
         * 瓶盖数量
         */
        private int caps;

        /**
         * 换得可乐数量
         */
        private int count = 0;

        /**
         * 初始的瓶盖数量
         * @param caps 初始的瓶盖数量
         */
        public Cola(int caps) {
            super();
            this.caps = caps;
        }

        /**
         * 兑换可乐
         * @return
         */
        public int exchange() {
            // 不够两个瓶盖就换不了了
            if (caps < 2) {
                return count;
            }
            // 2个瓶盖换1瓶可乐
            caps -= 2;
            count += 1;
            // 1瓶可乐有一个瓶盖
            caps += 1;
            // 继续换
            return this.exchange();
        }
    }

    public static void main(String[] args) {
        System.out.println(new Cola(10).exchange());
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中二还未毕业
2018-04-18
知道答主
回答量:15
采纳率:50%
帮助的人:6.8万
展开全部
public class Demo {

public static void main(String[] args) {
int sum = 0; //换可乐数
int n = 10; //当前瓶盖数
while(n > 1){
int temp = n/2;
sum += n/2;
n = n%2 + temp;
}
System.out.println(sum);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式