手机也能上课
1/6
订单金额与免运费门槛的对应关系
任务说明
本小节任务是“判断一笔订单是否免运费”。完成任务时,会学习如何把业务规则写成if/else条件,认识>=等比较运算符,并用门槛前、门槛本身、门槛后三组数据检查规则是否写对。
方法讲解
网店常见的规则是:订单金额满99元免运费,不满99元加收10元运费。 先把“满”翻译成可以检查的结果,程序才知道什么时候走免运费这一条路。
| 订单金额 | 是否满99元 | 运费 | 应付总额 |
|---|---|---|---|
| 80元 | 否 | 10元 | 90元 |
| 99元 | 是 | 0元 | 99元 |
| 100元 | 是 | 0元 | 100元 |
这里的关键不是金额刚好是100,而是99也应该免运费。所以程序要分成两个互斥分支:金额达到99时把运费设为0;其他金额把运费设为10。最后再把商品金额和运费相加,得到应付总额。
边界检查
做这种有门槛的题,先把门槛两边和门槛本身都列出来,往往比直接写代码更稳。这里用80、99、100三笔订单,刚好能检查“不满”“刚好达到”“超过”三种情况。
这一节约定订单金额是非负整数元,先不处理优惠券、小数金额和多个商品。这样每次运行只回答一个明确问题:这笔订单该收多少运费?
