# supermarket **Repository Path**: wei_13/supermarket ## Basic Information - **Project Name**: supermarket - **Description**: 水果计费代码,采用策略模式实现 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-22 - **Last Updated**: 2026-01-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该项目代码用于解决以下四个题目 1、有一家超市,出售苹果和草莓。其中苹果 8 元/斤,草莓 13 元/斤。 现在顾客 A 在超市购买了若干斤苹果和草莓,需要计算一共多少钱? 请编写函数,对于 A 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 2、超市增加了一种水果芒果,其定价为 20 元/斤。 现在顾客 B 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱? 请编写函数,对于 B 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 3、超市做促销活动,草莓限时打 8 折。 现在顾客 C 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱? 请编写函数,对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 4、促销活动效果明显,超市继续加大促销力度,购物满 100 减 10 块。 现在顾客 D 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱? 请编写函数,对于 D 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 主要的解题思路:因为题目中包含无折扣、打折的折扣、满减的折扣,所以采用策略模式来进行计算总价, 定义三个策略,分为基础价格计算策略(BasePriceStrategy)、折扣策略(DiscountStrategy) 和满减策略(FullReductionStrategy),为后续新增折扣优惠时提供拓展性。具体计费逻辑查看代码。 题目测试代码路径为src/test/java/com/supermarket/SupermarketApplicationTests.java。 问题1、2、3、4对应方法分别为testCustomerA、testCustomerB、testCustomerC、testCustomerD。 并且已实现简单的测试用例代码