用java写一段代码。题目如下
展开全部
//两种喝法
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+"个瓶盖");
}
}
展开全部
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());
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |