Discuss / Java / 策略模式练习

策略模式练习

Topic source

Faded-零

#1 Created at ... [Delete] [Delete and Lock User]

这里如果没满 100,应该还是对其打 7 折

public class PrimeOverDiscountStrategy implements DiscountStrategy{
    @Override
    public BigDecimal getDiscount(BigDecimal total) {
        return total.compareTo(BigDecimal.valueOf(100)) >= 0 ? 
                total.subtract(BigDecimal.valueOf(20)).multiply(new BigDecimal("0.3")).setScale(2, RoundingMode.DOWN).add(BigDecimal.valueOf(20)) : 
                total.multiply(new BigDecimal("0.3")).setScale(2, RoundingMode.DOWN);
    }
}

根据应用策略的 DiscountContext.java 中,应该返回打折后要减去的值


  • 1

Reply