2301_80367057 2024-09-30 21:39 采纳率: 84.2%
浏览 7

请你尝试用Scanner 类结合switch -case-default实现购物结账功能,可以是任意购物场景,要求结算包括:购物列表显示,购物数量统计,总金额显示,包含子菜单设计,会方法定义和调用

img


用这种方式来实现代码的编写,特别是要简单一些能够看懂的。并要进行子菜单的设计,会方法定义和调用。急呀

  • 写回答

1条回答 默认 最新

  • 清水白石008 2024-10-07 06:32
    关注
    🕒上午好,题主!目前:🟢[在线]
    📢参考GPT-4o mini 模型、由清水白石008整理提供!
    📣今日金句:“成功是不断学习和成长的过程。”** — 亨利·福特
    

    下面是一个使用 Java 的 Scanner 类结合 switch-case-default 实现的简单购物结账功能示例。这个示例包括购物列表显示、购物数量统计、总金额显示,以及子菜单设计和方法定义与调用。

    Java 代码示例

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class ShoppingCart {
        private static List<String> shoppingList = new ArrayList<>();
        private static List<Double> prices = new ArrayList<>();
        private static double totalAmount = 0.0;
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            boolean running = true;
    
            while (running) {
                System.out.println("欢迎来到购物系统!");
                System.out.println("1. 添加商品");
                System.out.println("2. 查看购物车");
                System.out.println("3. 结账");
                System.out.println("4. 退出");
                System.out.print("请选择操作: ");
                int choice = scanner.nextInt();
    
                switch (choice) {
                    case 1:
                        addItem(scanner);
                        break;
                    case 2:
                        viewCart();
                        break;
                    case 3:
                        checkout();
                        break;
                    case 4:
                        running = false;
                        System.out.println("感谢您的光临!");
                        break;
                    default:
                        System.out.println("无效的选择,请重试!");
                }
            }
    
            scanner.close();
        }
    
        private static void addItem(Scanner scanner) {
            System.out.print("请输入商品名称: ");
            String itemName = scanner.next();
            System.out.print("请输入商品价格: ");
            double itemPrice = scanner.nextDouble();
            shoppingList.add(itemName);
            prices.add(itemPrice);
            System.out.println(itemName + " 已添加到购物车!");
        }
    
        private static void viewCart() {
            if (shoppingList.isEmpty()) {
                System.out.println("购物车为空!");
                return;
            }
    
            System.out.println("购物车商品列表:");
            for (int i = 0; i < shoppingList.size(); i++) {
                System.out.println((i + 1) + ". " + shoppingList.get(i) + " - ¥" + prices.get(i));
            }
            System.out.println("总商品数量: " + shoppingList.size());
        }
    
        private static void checkout() {
            if (shoppingList.isEmpty()) {
                System.out.println("购物车为空,无法结账!");
                return;
            }
    
            totalAmount = 0.0;
            for (double price : prices) {
                totalAmount += price;
            }
    
            System.out.println("结账中...");
            System.out.println("总金额: ¥" + totalAmount);
            shoppingList.clear();
            prices.clear();
            System.out.println("购物车已清空,感谢您的购物!");
        }
    }
    

    代码说明

    1. **主类 ShoppingCart**:包含主方法和购物车的相关功能。
    2. 购物列表和价格:使用 ArrayList 存储购物商品和对应的价格。
    3. 主菜单:使用 while 循环和 switch-case-default 结构来处理用户输入。
    4. 添加商品addItem 方法用于添加商品到购物车。
    5. 查看购物车viewCart 方法显示购物车中的商品和总数量。
    6. 结账checkout 方法计算总金额并清空购物车。
    7. 用户交互:使用 Scanner 类获取用户输入。

    使用方法

    • 运行程序后,用户可以选择添加商品、查看购物车、结账或退出。
    • 添加商品时,用户需要输入商品名称和价格。
    • 查看购物车时,程序会显示所有商品及其价格和总数量。
    • 结账时,程序会计算总金额并清空购物车。

    这个示例提供了一个简单的购物结账功能,可以根据需要进行扩展和修改。

    评论

报告相同问题?

问题事件

  • 修改了问题 10月4日
  • 创建了问题 9月30日