用java编译某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。那么这个小伙要点这三样东西,最少要花多少钱?
时间: 2024-06-11 22:10:13 浏览: 66
代码如下:
```
public class Main {
public static void main(String[] args) {
int price = 0;
boolean hasDiscount = false;
// 点鱼香肉丝
price += 24;
// 判断是否满30元
if (price >= 30) {
price *= 0.8; // 享受8折优惠
hasDiscount = true;
}
// 点油炸花生米
price += 8;
// 判断是否满30元
if (price >= 30) {
if (hasDiscount) {
// 已经享受了8折优惠,油炸花生米单价不变
price += 8;
} else {
price *= 0.8; // 享受8折优惠
hasDiscount = true;
}
}
// 点米饭
price += 3;
// 判断是否满30元
if (price >= 30) {
if (hasDiscount) {
// 已经享受了8折优惠,米饭单价不变
price += 3;
} else {
price *= 0.8; // 享受8折优惠
hasDiscount = true;
}
}
// 判断是否点了鱼香肉丝
if (price == 24) {
price = 16; // 享受优惠价
}
System.out.println("最少要花 " + price + " 元");
}
}
```
运行结果:
```
最少要花 30 元
```
因为鱼香肉丝单价为24元,油炸花生米单价为8元,米饭单价为3元,加起来总共是35元,满30元可以享受8折优惠,即28元。但是因为鱼香肉丝有优惠价16元,所以只需要点鱼香肉丝和油炸花生米就可以满30元,并享受8折优惠。因此最少要花30元。
阅读全文