练习——柜台结账系统

练习——柜台结账系统

需求

编写一个柜台结账系统:

  1. 依次输入单价、数量、收的金额
  2. 每输入一项给出提示
  3. 输出应找回的零钱
  4. 使用 double 类型
  5. 当总价大于 1000 时,享受九折优惠

示例代码

public static void main(String[] args) {
    System.out.println("请输入单价:");
    Scanner scan = new Scanner(System.in);
    double price = scan.nextDouble();

    System.out.println("请输入数量:");
    double number = scan.nextDouble();

    System.out.println("请输入金额:");
    double money = scan.nextDouble();

    double total = price * number;

    System.out.println("找回:" + (money - (total > 1000 ? total * 0.9 : total)));
}Code language: JavaScript (javascript)

逻辑拆解

步骤说明
输入单价price,double 类型
输入数量number,double 类型
计算总价total = price * number
输入收款money,double 类型
判断折扣总价 > 1000 时打九折,否则按原价
计算找零money - 实际应付金额

运行示例

请输入单价:
120
请输入数量:
10
请输入金额:
1000
找回:40.0Code language: CSS (css)

总价 1200 > 1000,享受九折后应付 1080,收款 1000,找回 40。

改进建议

实际开发中找零金额建议保留两位小数,可使用 DecimalFormat 或 String.format("%.2f", value) 格式化输出:

System.out.println(String.format("找回:%.2f", (money - (total > 1000 ? total * 0.9 : total))));Code language: CSS (css)

注意:金额计算涉及 double 精度问题,后续学习 BigDecimal 后可进一步改进。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注