Java_常用API-ArrayList综合案例

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

  • 实体类,封装菜品数据
package com.badidu.arrayList;

public class Food {
    //    成员变量
    private String name;
    private int price;
    private String description;
//    描述

//    getter、setter方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

//    有参构造器

    public Food(String name, int price, String description) {
        this.name = name;
        this.price = price;
        this.description = description;
    }

//    无参构造器

    public Food() {
    }
}

  • 处理业务数据方法
package com.badidu.arrayList;

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

public class FoodOperator {
    //    1.定义一个ArrayList集合对象,负责存储菜品对象信息
    private ArrayList<Food> foodList = new ArrayList<>();

//    2.开发功能:上架菜品功能

    public void addFood() {
//        3.创建一个菜品对象,封装上架的菜品信息
        Food food = new Food();
//        4.录入菜品信息进去
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入菜品名称:");
        String name = sc.next();
        food.setName(name);
//        录入菜名

        System.out.println("请输入菜品价格:");
        double price = sc.nextDouble();
        food.setPrice(price);
//        录入菜价

        System.out.println("请输入菜品描述:");
        String description = sc.next();
        food.setDescription(description);
//        录入菜描述

//        5.把菜品对象存入到集合中
        foodList.add(food);
        System.out.println("上架成功");
    }

    //    6.展示菜品
    public void showAllFood() {
        if (foodList.size() == 0) {
            System.out.println("暂无菜品");
            return;
        }
        for (int i = 0; i < foodList.size(); i++) {
            Food food = foodList.get(i);
            System.out.println(food.getName());
            System.out.println(food.getPrice());
            System.out.println(food.getDescription());
            System.out.println("________________________________________");
        }
    }

    /*负责展示界面*/
    public void start() {
        System.out.println("请选择功能");
        System.out.println("1.上架菜品");
        System.out.println("2.展示菜品");
        System.out.println("退出");

        Scanner sc = new Scanner(System.in);
        System.out.println("请选择您的操作:");
        String command = sc.next();
        switch (command) {
            case "1":
                addFood();
                break;
            case "2":
                showAllFood();
                break;
            case "3":
                System.out.println("谢谢惠顾,欢迎下次光临!");
                return;
//                return才能干掉方法
            default:
                System.out.println("输入有误");
        }
    }
}

  • 测试类
package com.badidu.arrayList;

import java.util.ArrayList;

public class ArrayListDemo2 {
    //    掌握从容器中找出某些数据并成功删除的技巧
    public static void main(String[] args) {
//        1.创建一个ArrayList集合对象
        ArrayList<String> list = new ArrayList<>();
        list.add("joker");
        list.add("light");
        list.add("sword");
        list.add("origin");
        list.add("actor");
        list.add("maker");
        System.out.println(list);

/*//        方式一:每次删除一个数据后,就让i往左边退一步
        for (int i = 0; i < list.size(); i++) {
            String element = list.get(i);
//            遍历当前遍历的数据
            if (element.contains("or")) {
                list.remove(element);
//                直接删除数据
//                集合删除元素后,元素会自动前移
                i--;
            }
        }
        System.out.println(list);*/

//        方式二:从集合的后面倒序遍历并删除
        for (int i = list.size() - 1; i >= 0; i--) {
//            取出当前遍历到的数据
            String element = list.get(i);
//            判断数据中是否含"or"
            if (element.contains("or")) {
//                直接删除
                list.remove(element);
            }
        }
        System.out.println(list);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值