Java 实时计算电商商品优惠券后最优价格 - 多张优惠券比价算法

在电商平台中,商品经常会提供多种优惠券,用户需要选择最优的优惠券才能获得最低的价格。本文将介绍如何在 Java 中实现实时计算商品优惠券后最优价格的功能。

实现思路

  1. 获取商品原价和所有可用优惠券信息: 首先需要获取商品的原价以及所有可用的优惠券信息,包括优惠券的优惠金额和满减门槛。

  2. 遍历每一张优惠券,计算出优惠后的价格: 遍历每一张优惠券,判断商品原价是否满足优惠券的满减门槛,如果满足则计算出优惠后的价格,否则保持原价。

  3. 将每一张优惠券优惠后的价格存储到一个数组中: 将每一张优惠券计算出的优惠后价格存储到一个数组中。

  4. 对数组进行排序,取出最小值即为最优价格: 对数组进行排序,取出最小值即为最优价格。

  5. 将最优价格展示给用户: 将计算出的最优价格展示给用户。

代码实现

假设商品原价为 100 元,有三张优惠券,分别为满 50 减 10 元,满 100 减 30 元,满 200 减 50 元。

public class CouponDemo {

    public static void main(String[] args) {
        double price = 100; // 商品原价
        double[] discounts = {10, 30, 50}; // 优惠金额
        double[] thresholds = {50, 100, 200}; // 满减门槛

        double[] prices = new double[discounts.length]; // 存储优惠后的价格

        for (int i = 0; i < discounts.length; i++) {
            if (price >= thresholds[i]) {
                prices[i] = price - discounts[i];
            } else {
                prices[i] = price;
            }
        }

        Arrays.sort(prices); // 升序排序

        System.out.println('最优价格:' + prices[0]); // 取出最小值即为最优价格
    }
}

输出结果

最优价格:70.0

说明选择满 100 减 30 元的优惠券最优,券后价格为 70 元。


原文地址: https://www.cveoy.top/t/topic/nrMN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录