简单编程题
    需求描述
    某快餐品牌推出了它独家的外卖应用,用户可以在手机上直接下单。该应用会根据用户选择的菜品(Item)、数量(Count)和优惠方式(Promotion)进行计算,告诉用户需要支付的金额(Charge)。
    优惠活动有多种形式。假设用户一次只能使用一种优惠,那么使用哪种优惠省钱最多就会是一个让用户头疼的问题。所以该外卖应用为了方便用户,在用户下单时,会自动选择最优惠的方式并计算出最终金额让用户确认。
    我们需要实现一个名为bestCharge的函数,它能够接收用户选择的菜品和数量(以特定格式呈现)作为输入,然后返回计算后的汇总信息。
    已知:

    • 该店的菜品每一个都有一个唯一的id
    • 当前的优惠方式有:
    • 满30减6元
    • 指定菜品半价
    • 除菜品外没有其它收费(如送餐费、餐盒费等)
    • 如果两种优惠方式省钱一样多,则使用前一种优惠方式

    输入样例
    [“ITEM0001 x 1”, “ITEM0013 x 2”, “ITEM0022 x 1”]
    输出样例
    ============= 订餐明细 =============
    黄焖鸡 x 1 = 18元
    肉夹馍 x 2 = 12元
    凉皮 x 1 = 8元
    —————————————————-
    使用优惠:
    指定菜品半价(黄焖鸡,凉皮),省13元
    —————————————————-
    总计:25元
    ===================================
    使用另一种优惠的样例
    输入:
    [“ITEM0013 x 4”, “ITEM0022 x 1”]
    输出:
    ============= 订餐明细 =============
    肉夹馍 x 4 = 24元
    凉皮 x 1 = 8元
    —————————————————-
    使用优惠:
    满30减6元,省6元
    —————————————————-
    总计:26元
    ===================================
    如果没有优惠可享受
    输入:
    [“ITEM0013 x 4”]
    输出:
    ============= 订餐明细 =============
    肉夹馍 x 4 = 24元
    —————————————————-
    总计:24元
    ===================================
    https://gitee.com/zxy042236/take-out-food-java.git