当前位置: 首页 > news >正文

阿里云服务器 怎么设置网站环境铲车找事做找哪些网站

阿里云服务器 怎么设置网站环境,铲车找事做找哪些网站,哪里能找到免费网站,wordpress 知更鸟 网格为了计算双十一期间多产品使用优惠券后的实付款省钱方案#xff0c;我们需要一个更复杂的逻辑来处理优惠券的应用和叠加规则。以下是一个简化的Java示例#xff0c;用于展示如何计算多种优惠券应用于多个产品后的实付款金额#xff0c;并找出最省钱的方案。 首先#xff0…为了计算双十一期间多产品使用优惠券后的实付款省钱方案我们需要一个更复杂的逻辑来处理优惠券的应用和叠加规则。以下是一个简化的Java示例用于展示如何计算多种优惠券应用于多个产品后的实付款金额并找出最省钱的方案。 首先我们定义一些类和方法 Product 类表示产品包含名称和价格。Coupon 类表示优惠券包含类型如满减、折扣等、金额、使用条件如满多少元可用以及适用的产品集合如果有的话。Order 类表示订单包含要购买的产品列表和已应用的优惠券列表。ShoppingCart 类表示购物车用于管理订单和计算实付款金额。 然后我们实现一个方法来生成所有可能的优惠券组合并计算每种组合下的实付款金额。最后我们找出实付款金额最小的组合即为最省钱的方案。 import java.util.*; class Product { String name; double price; public Product(String name, double price) { this.name name; this.price price; } } class Coupon { String type; // 优惠券类型如满减、折扣等 double amount; // 优惠券金额或折扣比例 double condition; // 使用条件如满多少元可用 SetString applicableProducts; // 适用的产品集合可选 public Coupon(String type, double amount, double condition, SetString applicableProducts) { this.type type; this.amount amount; this.condition condition; this.applicableProducts applicableProducts; } // 判断优惠券是否可用于给定的产品集合 public boolean isApplicable(SetProduct products) { if (applicableProducts null || applicableProducts.isEmpty()) { return true; // 没有指定适用产品则可用于所有产品 } for (Product product : products) { if (applicableProducts.contains(product.name)) { return true; // 至少有一个适用产品 } } return false; // 没有适用产品 } // 计算优惠券优惠金额 public double calculateDiscount(double totalPrice) { if (type.equals(满减)) { return Math.min(amount, totalPrice - condition); // 满减不能超过总价减去条件金额 } else if (type.equals(折扣)) { return totalPrice * (1 - amount / 100); // 折扣是以百分比形式给出 } return 0; } } class Order { ListProduct products; ListCoupon appliedCoupons; public Order(ListProduct products) { this.products products; this.appliedCoupons new ArrayList(); } // 计算订单总价未应用优惠券 public double calculateTotalPrice() { return products.stream().mapToDouble(product - product.price).sum(); } // 计算订单实付款金额已应用优惠券 public double calculateFinalPrice() { double totalPrice calculateTotalPrice(); double discount appliedCoupons.stream().mapToDouble(coupon - coupon.calculateDiscount(totalPrice)).sum(); return totalPrice - discount; } } class ShoppingCart { ListProduct products; ListCoupon coupons; public ShoppingCart(ListProduct products, ListCoupon coupons) { this.products products; this.coupons coupons; } // 生成所有可能的优惠券组合并找出最省钱的方案 public Order findBestDiscountScheme() { int n coupons.size(); Order bestOrder null; double minFinalPrice Double.MAX_VALUE; // 递归生成所有优惠券组合 generateCouponCombinations(0, new ArrayList(), products, (couponsToApply) - { Order order new Order(new ArrayList(products)); order.appliedCoupons.addAll(couponsToApply); double finalPrice order.calculateFinalPrice(); if (finalPrice minFinalPrice) { minFinalPrice finalPrice; bestOrder order; } }); return bestOrder; } // 递归生成优惠券组合的辅助方法 private void generateCouponCombinations(int index, ListCoupon currentCombination, ListProduct products, ConsumerListCoupon callback) { if (index coupons.size()) { // 达到递归终点调用回调方法处理当前组合 callback.accept(new ArrayList(currentCombination)); return; } // 不使用当前优惠券 generateCouponCombinations(index 1, currentCombination, products, callback); // 使用当前优惠券如果可用 Coupon coupon coupons.get(index); SetProduct productSet products.stream().collect(Collectors.toSet()); if (coupon.isApplicable(productSet)) { ListCoupon newCombination new ArrayList(currentCombination); newCombination.add(coupon); generateCouponCombinations(index 1, newCombination, products, callback); } } } public class Main { public static void main(String[] args) { ListProduct products Arrays.asList( new Product(产品1, 100), new Product(产品2, 200), new Product(产品3, 300) ); ListCoupon coupons Arrays.asList( new Coupon(满减, 50, 300, null), // 满300减50适用于所有产品 new Coupon(折扣, 90, 100, new HashSet(Arrays.asList(产品1))) // 满100打9折仅适用于产品1 ); ShoppingCart cart new ShoppingCart(products, coupons); Order bestOrder cart.findBestDiscountScheme(); System.out.println(最省钱的方案); System.out.println(实付款金额 bestOrder.calculateFinalPrice()); System.out.println(已应用的优惠券); for (Coupon coupon : bestOrder.appliedCoupons) { System.out.println(coupon.type coupon.amount coupon.condition (coupon.applicableProducts ! null ? coupon.applicableProducts : 所有产品)); } } } 请注意这个示例代码有几个假设和简化 优惠券可以叠加使用但实际应用中可能有更复杂的规则。优惠券的适用产品是通过名称匹配的实际应用中可能需要更复杂的逻辑来确定哪些产品适用。没有处理优惠券使用次数的限制。没有处理优惠券和促销活动之间的优先级关系。
http://www.hkea.cn/news/14538340/

相关文章:

  • 提供邯郸做移动网站网站什么也没动怎么不收录啦
  • 北京造价员变更在哪个网站做免费好用的网页制作工具
  • wordpress 全站搜索推广方案框架
  • 网站优化排名易下拉用法网站备案要多长时间
  • 外贸网站建站k公司网站开发费用计入
  • 个人备案的网站销售商品wordpress邮件验证码
  • 一站式做网站设计小网站asp好还是php好
  • 协会网站建设方案门户网站开发维护合同范本
  • 网站底部导航制作净化网络环境网站该怎么做
  • 赣榆网站制作小游戏开发制作
  • 南京网站外包谷歌优化招聘
  • 免费下载网站模版佛山网站建设灵格
  • 网站开发中怎么样对接接口做静态网站选用什么服务器
  • 做网站要需要多少钱网站开发模板
  • 上海网站建设开发哪家好汽车4s店网站建设策划
  • 隆尧做网站网站建设时间规划
  • 城乡建设部网站 挂证云安区学校网站建设统计表
  • 西安公司网站费用食品品牌策划方案
  • 广西网站建设价格低全球最大源码共享网站
  • 广州网站建设要多少钱天元建设集团有限公司法人代表
  • 园林景观设计网站推荐深圳科技公司有哪些
  • .mil域名的网站如何建设一个电影网站
  • 网站做302跳转的意义如何选择做网站公司
  • 网站建设公司怎么挖掘客户前端开发培训班学出来有用吗
  • 景区网站建设的目标定位建设地区网站建议
  • 可以做头像的网站有哪些手机网页开发工具
  • 2345电视剧网站免费首页设计图
  • 无线网站建设手机建站cms
  • 江门市网站建设公司什么是理财北京网站建设公司
  • 百度智能建站系统wordpress 500 - 内部服务器错误