月亮商场今日搞促销活动,在购物结算时,不同的购物金额可以享受不同的优惠力度。不同购物金额对应的折扣规则如下。
当购物金额不超过100元时,不享受任何优惠,仍需原价支付。
当购物金额超过100元,但不超过200元时,打九折。
当购物金额超过200元,但不超过300元时,打八折。
当购物金额超过300元时,打七折。
需要实现一个购物结算的程序,根据输入的购物金额,结合购物打折规则计算应支付金额,并输出购物金额、支付金额和优惠信息。购物结算程序的运行效果如图所示。
java
package lianxi1;
import java.util.Scanner;
import java.text.DecimalFormat;
public class discounts {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("#.00"); // 保留两位小数
System.out.println("-------------------月亮商场购物打折------------------");
System.out.println("月亮商场今日搞促销活动,优惠规则如下:");
System.out.println("1. 不超过100元,不享受优惠。");
System.out.println("2. 超过100元不超过200元,享受九折优惠。");
System.out.println("3. 超过200元不超过300元,享受八折优惠。");
System.out.println("4. 超过300元,享受七折优惠。");
System.out.println("----------------------------------------------------");
System.out.print("请输入您的购物金额(元):");
if (sc.hasNextDouble()) {
double price = sc.nextDouble();
if (price < 0) {
System.out.println("输入的金额不能为负数!");
} else {
double payable;
String message;
if (price <= 100) {
payable = price;
message = "此次购物不享受任何优惠,欢迎下次光临~";
} else if (price > 100 && price <= 200) {
payable = 0.9 * price;
message = "此次购物享受九折优惠,欢迎下次光临~";
} else if (price > 200 && price <= 300) {
payable = 0.8 * price;
message = "此次购物享受八折优惠,欢迎下次光临~";
} else {
payable = 0.7 * price;
message = "此次购物享受七折优惠,欢迎下次光临~";
}
System.out.println("购物金额: " + df.format(price)+"元");
System.out.println("应支付金额: " + df.format(payable)+"元");
System.out.println("优惠信息: " + message);
}
} else {
System.out.println("输入的金额格式有误!");
}
sc.close();
}
}