28人买可乐喝,3个可乐瓶盖可以换一瓶可乐

import java.util.Scanner;

public class Test10 {

/**
 * 10、28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?
 * 假如是50人,又需要买多少瓶可乐?(需写出分析思路)
 */
/**
 * 思路:
 *      1.键盘录入人数
 *      2.人数作为参数,传给getNum()方法
 *      3.getNum()方法 计算总可乐数  
 *          循环条件为:拥有可乐人数是否到达输入的总人数
 *          首先判断 cap瓶盖是否为3,若为3,拥有可乐的人数加1,瓶盖赋值为1,注:在此可乐数不用加1
 *                          否则,可乐加1,人数加1,瓶盖加1
 *          返回总可乐数量。
 * 结果:
 *      28人总共需要购买 19 瓶可乐
 *      50人总共需要购买 34 瓶可乐
 */
public static void main(String[] args) {
    //键盘录入总人数
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入总人数:");
    int personNum = sc.nextInt();
    //自定义方法,将录入的人数作为参数传递,计算需要的总可乐数
    int cola = getNum(personNum);
    //打印输出最终可乐瓶数
    System.out.println(personNum +"人总共需要购买 "+cola +" 瓶可乐!");
}
/**
 * 自定义方法:根据总人数计算需要购买的总可乐数
 * @param personNum 总人数,作为循环的截止条件
 * @return int cola(总可乐瓶数)
 */
public static int getNum(int personNum) {   

    int cola = 0;               //初始购买可乐瓶数为0
    int cap = 0;                //初始瓶盖数为0
    int person = 0;             //初始拥有可乐的人数为0
                                //循环计算总可乐数量
    while(person < personNum){  //已拥有可乐的人数person小于总人数personNum时 循环
        if (cap == 3){          //if判断瓶盖数量是否为3,若为3,则可兑换一瓶可乐,此时拥有可乐人数加1,瓶盖赋值为1
            person++;
            cap = 1;
        }else {                 //否则,购买一瓶可乐,即可乐加1,人数加1,瓶盖加1
            cola++;
            cap++;
            person++;
        }
    }
    return cola;                //返回总可乐数
}

}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值