ArrayList的综合案例-模仿外卖系统中的商家系统

  • 需求:完成菜品的上架,以及菜品信息浏览功能。
  • 1.先设计一个菜品类 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;
    }

    //添加 get set 方法
    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;
    }
}

*2. 设计一个菜品操作类FoodOperator,负责对菜品的业务实现:上架、浏览信息。

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

/**
 * 菜品操作类:负责上架和浏览功能的实现
 * */
public class FoodOperator {
   //1. 定义一个ArrayList 集合对象,负责存储菜品对象信息
    private  ArrayList<Food> foodList = new ArrayList<>();
   //创建扫描器用于接收数据
    Scanner sc = new Scanner(System.in);
    //2.开发功能:上架菜品功能。
    public void addFood(){
        //3.创建一个菜品对象,封装菜品信息
        Food f =new Food();
        //4.录入菜品信息进去。
       
        System.out.println("请您输入该菜品的名称");
        String name = sc.next();
        f.setName(name);
        
        System.out.println("请您输入该菜品的价格");
        Double price = sc.nextDouble();
        f.setPrice(price);
        
        System.out.println("请您输入该菜品的描述");
        String desc = sc.next();
        f.setDesc(desc);
        //5.把商品对象存入到集合中去
        foodList.add(f);
        System.out.println("上架成功");
    }
    //展示菜品
    public void showAllFoods(){
        if (foodList.size()==0){
            System.out.println("什么菜品都没有,先去上架");
            return;
        }
        for (int i = 0; i < foodList.size(); i++) {
            Food f = foodList.get(i);
            System.out.println(f.getName());
            System.out.println(f.getPrice());
            System.out.println(f.getDesc());
            System.out.println("----------------------");
        }
    }    
    //展示操作页面
     public void start(){
         while (true) {
             System.out.println("请选择功能:");
             System.out.println("1.上架菜品");
             System.out.println("2.展示菜品");
             System.out.println("3.退出");
             System.out.println("请选择您的操作");
             String command =sc.next();
             switch (command){
                 case "1":
                     addFood();
                     break;
                 case "2":
                     showAllFoods();
                     break;
                 case "3":
                     return;//结束死循环 break只会结束switch
                 default:
                     System.out.println("您输入的命令不存在");
             }
         }
     }
 }
  • 3.最后在main 方法中调用
 public static void main(String[] args) {
        FoodOperator operator =new FoodOperator();
        operator.start();
    }

接下来是整体代码展示
在这里插入图片描述


代码运行界面
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值