教小白实现Java菜单并输出菜品

作为一名经验丰富的开发者,我很高兴能够帮助刚入行的小白实现Java菜单并输出菜品。在这个过程中,我将详细解释每一个步骤,并提供相应的代码示例。希望这篇文章能够帮助你快速掌握Java菜单的实现方法。

流程概述

首先,让我们通过一个表格来概述整个实现流程:

步骤 描述
1 定义菜品类
2 创建菜单类
3 实现菜单显示和选择功能
4 输出选中的菜品

定义菜品类

在这一步,我们需要定义一个菜品类,包含菜品的名称和价格。

public class Dish {
    private String name;
    private double price;

    public Dish(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    @Override
    public String toString() {
        return name + " - ¥" + price;
    }
}

创建菜单类

接下来,我们需要创建一个菜单类,用于管理菜品和显示菜单。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Menu {
    private List<Dish> dishes;

    public Menu() {
        dishes = new ArrayList<>();
    }

    public void addDish(Dish dish) {
        dishes.add(dish);
    }

    public void displayMenu() {
        System.out.println("菜单:");
        for (int i = 0; i < dishes.size(); i++) {
            System.out.println((i + 1) + ". " + dishes.get(i));
        }
    }

    public Dish selectDish(int index) {
        if (index > 0 && index <= dishes.size()) {
            return dishes.get(index - 1);
        } else {
            System.out.println("无效的菜品编号,请重新选择。");
            return null;
        }
    }
}

实现菜单显示和选择功能

现在,我们需要实现一个主类,用于显示菜单并让用户选择菜品。

public class Main {
    public static void main(String[] args) {
        Menu menu = new Menu();
        menu.addDish(new Dish("宫保鸡丁", 30.0));
        menu.addDish(new Dish("鱼香肉丝", 25.0));
        menu.addDish(new Dish("麻婆豆腐", 20.0));

        Scanner scanner = new Scanner(System.in);
        boolean running = true;

        while (running) {
            menu.displayMenu();
            System.out.print("请输入菜品编号(输入0退出):");
            int choice = scanner.nextInt();
            if (choice == 0) {
                running = false;
            } else {
                Dish selectedDish = menu.selectDish(choice);
                if (selectedDish != null) {
                    System.out.println("您选择的菜品是:" + selectedDish);
                }
            }
        }

        scanner.close();
    }
}

序列图

以下是用户与系统交互的序列图:

sequenceDiagram
    participant U as 用户
    participant S as 系统
    U->>S: 输入菜品编号
    S->>U: 显示菜单
    U->>S: 选择菜品
    S->>U: 输出选中的菜品
    U->>S: 输入0退出
    S->>U: 结束程序

状态图

以下是系统处理用户输入的状态图:

stateDiagram-v2
    [*] --> 显示菜单
    显示菜单 --> 选择菜品: 输入菜品编号
    选择菜品 --> [*]: 选择退出
    选择菜品 --> 显示菜单: 选择有效菜品
    选择菜品 --> 显示菜单: 选择无效菜品

结尾

通过这篇文章,我们详细介绍了如何使用Java实现一个简单的菜单系统,并输出用户选择的菜品。希望这篇文章能够帮助你快速掌握Java编程的基础知识。如果你有任何问题或需要进一步的帮助,请随时联系我。祝你在编程的道路上越走越远!