一个简易的外卖系统(商家版)

本文介绍了如何开发一个简单的外卖系统商家版,主要涉及菜品的上架、查看和信息修改功能。通过设计菜品类和操作类,实现了对菜品对象的管理,包括菜品名称、价格和描述等数据。同时,文章还提到了错误数据处理和系统退出的操作流程,并给出了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

完成菜品上架以及菜品信息的查看

分析:

1、设计一个菜品类,负责创建菜品对象那,封装菜品数据

菜品的基本信息包括菜品名称菜品价格以及菜品的相关描述

2、设计一个操作类FoodOperator,负责实现对菜品的上架、查看以及数据修改

1、定义集合对象,负责储存菜品信息

2、功能开发:上架菜品、菜品展示、修改菜品信息

3、设计操作页面

菜品上架:

菜品展示:

菜品修改:

修改后,菜品展示结果为:

对错误数据的处理:

系统退出:

相关代码:

Food类:

public class Food {
    private String name;
    private double price;
    private String desc;
    
    
    public Food() {
    }
    
    
    public Food(String name, double price, String desc) {
        this.name = name;
        this.price = price;
        this.desc = desc;
    }
    
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }

}

FoodOperator操作类:

public class FoodOperator {
        private ArrayList<Food> foodslList = new ArrayList<>();
        Scanner sc = new Scanner(System.in);

    public Food addFood(){
        Food food = new Food();
        
        System.out.println("请输入菜品名称:");
        String name = sc.next();
        food.setName(name);
        
        System.out.println("请输入菜品价格(单位:元):");
        double price = sc.nextDouble();
        food.setPrice(price);
        
        System.out.println("请输入菜品相关描述:");
        String desc = sc.next();
        food.setDesc(desc);

        foodslList.add(food);
        System.out.println("上架成功!");
        return food;
    }


//菜品展示
    public void showFood(){
        
        for (int i = 0; i < foodslList.size(); i++) {
            Food food = foodslList.get(i);
            System.out.println("-----------------");
            System.out.println("菜品:"+food.getName());
            System.out.println("价格:"+food.getPrice());
            System.out.println("相关描述:"+food.getDesc());

        }
    }

//修改上架商品信息
    public void changeFood(){
        if(foodslList.isEmpty()){
            System.out.println("当前菜品数量为0,请上架新的菜品!\n");
            start();
        }
        System.out.println("当前已上架的菜品有:");
        showFood();
        System.out.println("\n请选择要修改的菜品:");
        String changefood = sc.next();
        boolean found = false;
        for (int i = 0; i < foodslList.size(); i++) {
            Food food = foodslList.get(i);
            if(food.getName().equals(changefood)){
                found =true;
                while (true) 
                {
                    System.out.println("\n请选择您要修改的信息:");
                    System.out.println("1、菜品名称");
                    System.out.println("2、菜品价格");
                    System.out.println("3、菜品相关描述");
                    int choose = sc.nextInt();
                    switch (choose) {
                        case 1:
                        System.out.println("请输入新的菜品名称:");
                        String newName = sc.next();
                        food.setName(newName); 
                        System.out.println("修改完成!");
                        break;
                        case 2:
                        System.out.println("请输入新的菜品价格:");
                        double newPrice = sc.nextDouble();
                        food.setPrice(newPrice);
                        System.out.println("修改完成!");
                        break;
                        case 3:
                        System.out.println("请输入新的菜品描述:");
                        String newdesc = sc.next();
                        food.setDesc(newdesc);
                            System.out.println("修改完成!");
                            break;
                        default:
                        System.out.println("您选择的菜品信息有误,请重新选择!");
                        continue;
                        
                    } 
                    break;
                }
            }
            
        }
        if(!found){
            System.out.println("您暂未上架该菜品!");
        }

    }

//菜单显示
    public void start(){       
        while (true) {
            
            System.out.println("\n");
            System.out.println("请选择功能:");
            System.out.println("1、上架菜品");
            System.out.println("2、展示菜品");
            System.out.println("3、修改菜品信息");
            System.out.println("4、退出");
            
            //Scanner sc = new Scanner(System.in);
            System.out.println("请输入您的操作:");
            String connand = sc.next();            
            switch (connand) 
            {
                case "1":
                    addFood();
                    break;
                case "2":
                    if(foodslList.size() == 0){
                        System.out.println("当前菜品数量为0,请上架新的菜品!\n");
                        start();
                    }else
                    showFood();
                    break;
                case "3":
                    changeFood();
                    break;
                case "4":
                    System.out.println("系统已退出!");
                    sc.close();
                    return;
                default:
                    System.out.println("您输入的命令不存在!");
                    System.out.println("------------------");                    
            }
        }    
    }
}

主函数:

public static void main(String[] args) {
        FoodOperator operator = new FoodOperator();
        operator.start();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值