java点菜系统开发

public class Dish {
    int id;
    String name;
    double price;

    public Dish(int id, String name, double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }
}
public class DishApp {
    static List<Dish> list = new ArrayList<>();

    static List<Dish> personDish = new ArrayList<>();  //选中的菜放到一个集合中

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        infoDish();
        while (true){
            showDish();
            int num = scanner.nextInt();
            switch (num){
                case 1:
                    while (true){
                        showDishMenu();
                        int id = scanner.nextInt();
                        if (id == 0){
                            break;
                        }
                        //从饭店的集合里获取的对象是 1 2 3 4 5
                        //集合的索引  0  1 2 3 4
                        Dish dish = list.get(id - 1);
                        System.out.println("亲 您点了" + dish.name + "菜");
                        personDish.add(dish); //用户点一个 存储一个
                    }

                case 2:
                    showPersonDish();
                    break;
                case 3:
                    buyMenu();
                    return;
            }
        }
    }

    private static void buyMenu() {     // 3. 买单
        System.out.println("您请稍等 正在结算");
        double total = 0;
        for (Dish dish : personDish) {
            total += dish.price;
        }
        System.out.println("你总共消费了" + total + "元");
    }

    private static void showPersonDish() {  // 2.已点餐单
        System.out.println("您已经点的菜品");
        for (Dish dish : personDish) {
            System.out.println(dish.id + "\t" + dish.name + "\t" + dish.price);
        }
    }

    private static void showDishMenu() {   // 1.展示菜单
        System.out.println("请嫩点菜");
        for (int i = 0; i < list.size(); i++) {
            Dish dish = list.get(i);
            System.out.println(dish.id + "\t" + dish.name +"\t" + dish.price);
        }
        System.out.println("---输入序号点餐,按0返回上一级");
    }

    public static void showDish(){
        System.out.println("====主菜单====");
        System.out.println("1.菜\t\t\t单");
        System.out.println("2.已\t点\t菜\t单");
        System.out.println("3.买\t\t\t单");
        System.out.println("请输入1~3");
    }
    public static void infoDish(){   //初始化一些菜品
        list.add(new Dish(1,"红烧肉",35));
        list.add(new Dish(2,"炖大鹅",75));
        list.add(new Dish(3,"叫花鸡",55));
        list.add(new Dish(4,"大盘鸡",60));
        list.add(new Dish(5,"烤鸭",30));
    }
}

 

posted @ 2022-12-20 17:06  阿文程序猿  阅读(75)  评论(0)    收藏  举报