Java 实时计算电商商品优惠券后最优价格 - 多张优惠券比价算法
Java 实时计算电商商品优惠券后最优价格 - 多张优惠券比价算法
在电商平台中,商品经常会提供多种优惠券,用户需要选择最优的优惠券才能获得最低的价格。本文将介绍如何在 Java 中实现实时计算商品优惠券后最优价格的功能。
实现思路
-
获取商品原价和所有可用优惠券信息: 首先需要获取商品的原价以及所有可用的优惠券信息,包括优惠券的优惠金额和满减门槛。
-
遍历每一张优惠券,计算出优惠后的价格: 遍历每一张优惠券,判断商品原价是否满足优惠券的满减门槛,如果满足则计算出优惠后的价格,否则保持原价。
-
将每一张优惠券优惠后的价格存储到一个数组中: 将每一张优惠券计算出的优惠后价格存储到一个数组中。
-
对数组进行排序,取出最小值即为最优价格: 对数组进行排序,取出最小值即为最优价格。
-
将最优价格展示给用户: 将计算出的最优价格展示给用户。
代码实现
假设商品原价为 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 著作权归作者所有。请勿转载和采集!