Java代码基础算法练习-商场购物判断-2024.04.14

任务描述:


任务要求:

代码示例:

java 复制代码
package April_2024;

import java.util.Scanner;

public class a240414 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入您购物的消费金额:");
        double amount = scanner.nextDouble(); // 读取用户输入的购物金额

        // 根据购物金额计算折扣
        double discountRate = calculateDiscountRate(amount);

        // 计算实际应付金额
        double actualAmount = amount - (amount * discountRate / 100);

        // 输出实际应付金额,保留两位小数
        System.out.printf("您实际应付的购物金额为:%.2f\n", actualAmount);
    }

    /**
     * 根据购物金额计算折扣率
     * @param amount 购物金额
     * @return 折扣率
     */
    private static double calculateDiscountRate(double amount) {
        // 使用switch结构实现折扣计算
        double discountRate;
        switch ((int) Math.ceil(amount / 1000)) { // 取整到千元,作为判断条件
            case 0:
            case 1:
                discountRate = 0; // 金额不足1600元无折扣
                break;
            case 2:
                discountRate = 5; // 满1600元但不足2400元享受5%折扣
                break;
            case 3:
                discountRate = 10; // 满2400元但不足3200元享受10%折扣
                break;
            case 4:
            case 5:
                discountRate = 15; // 满3200元但不足6400元享受15%折扣
                break;
            default: // 满6400元及以上享受20%折扣
                discountRate = 20;
                break;
        }
        return discountRate;
    }
}
相关推荐
leoZ23122 分钟前
2026-09-09-springboot-cloud-deploy-pitfalls
java·前端·javascript·vue.js·人工智能·spring boot·后端
秦老师Q30 分钟前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
sunflower#41 分钟前
Go学习第五阶段:接口、泛型与包设计,实现可替换的通讯录存储层
学习·oracle·golang
不会就选b42 分钟前
算法日常・每日刷题--<贪心>7
数据结构·算法·leetcode
dadaobusi1 小时前
RV设备透传:主线尚未支持
学习
驭渊的小故事1 小时前
多线程02
java·开发语言·jvm
阿里嘎多学长1 小时前
2026-09-09 GitHub 热点项目精选
开发语言·程序员·github·代码托管
xqqxqxxq1 小时前
AI Agent学习:主动工具发现(李博杰《深入理解 AI Agent》4.8观后总结)
人工智能·学习
随遇而安zx1 小时前
【多线程】---实战:CompletableFuture编排
java·多线程·并发
moonrailgun1 小时前
用 Node.js 复刻 Codex Astra 的终端星光
前端·javascript·算法