java超市管理系统实战

是一个控制台版本的系统。主要是复习一下面向对象

 测试类 如下

//测试(运行)类
public class MainFrame {
    public static void main(String[] args) {
        //实例化系统对象
        Shop shop = new Shop();
    }
}

商品类如下


//货物信息类
public class Food {
    //商品ID
    private int ID;
    //商品名称
    private String name;
    //商品单价
    private double price;
    //商品数量
    private double number;
    //商品金额
    private double money;
    public int getID() {
        return ID;
    }
    public void setID(int iD) {
        ID = iD;
    }
    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 double getNumber() {
        return number;
    }
    public void setNumber(double number) {
        this.number = number;
    }
    public double getMoney() {
        return money;
    }
    public void setMoney(double money) {
        this.money = money;
    }
    
}

系统类如下

import java.util.ArrayList;
import java.util.Scanner;
import java.util.function.DoubleUnaryOperator;

/*
 * 超市管理系统:功能介绍
 * 根据提示仙则不同的功能
 * 根据选择进行商品的增:insert 删:delete 改:update 查:select
 */
public class Shop {
    // 使用 ArrayList对商品进行保存
    ArrayList<Food> arrayList = new ArrayList<Food>();

    // 构造方法(启动实例)
    public Shop() {
        init(arrayList);
        // 调用菜单功能方法
        System.out.println("========================欢迎进入虎虎超市管理系统=======================");
        while (true) {
            print();
            System.out.println("输入你要执行的操作");
            Scanner scanner = new Scanner(System.in);
            int input = scanner.nextInt();
            switch (input) {
            case 1:
                select(arrayList);
                break;
            case 2:
                insert(arrayList);
                break;
            case 3:
                update(arrayList);
                break;
            case 4:
                delete(arrayList);
                break;
            case 5:
                System.out.println("=========================欢迎下次使用,再见!=========================");
                return;
            default:
                System.out.println("输入正确的选项!!!");
                break;
            }
        }
    }

    // 打印菜单选项方法
    public void print() {
        System.out.print("1.查看商品");
        System.out.print("2.添加商品");
        System.out.print("3.修改商品");
        System.out.print("4.删除商品");
        System.out.print("5.退出系统");
        System.out.println();
    }

    /*
     * 默认系统开启现存两商品
     */
    public void init(ArrayList<Food> arraylist) {
        //实例化一个对象,并封装数据
        Food f1 = new Food();
        f1.setID(1);
        f1.setName("鸡蛋");
        f1.setPrice(2);
        f1.setNumber(10);
        f1.setMoney(20);

        Food f2 = new Food();
        f2.setID(2);
        f2.setName("火腿");
        f2.setPrice(5);
        f2.setNumber(10);
        f2.setMoney(50);

        arrayList.add(f1);
        arrayList.add(f2);
    }

    // 查看菜单
    public void select(ArrayList<Food> arrayList) {
        System.out.println("======商品清单如下=======");
        System.out.println("商品编号    " + "商品名称    " + "商品单价    " + "商品数量    " + "商品总价");
        for (int i = 0; i < arrayList.size(); i++) {
            Food food = arrayList.get(i);
            System.out.println(food.getID() + "    " + food.getName() + "    " + food.getPrice() + "      " + food.getNumber()
                    + "     " + food.getMoney());
        }
    }

    /*
     * 添加商品方法 参数:arryList 无返回值
     */
    public void insert(ArrayList<Food> arrayList) {
        System.out.println("======商品添加操作=======");
        System.out.println("请输入商品编号");
        // 键盘接受输入的数据
        int id = new Scanner(System.in).nextInt();
        System.out.println("请输入商品名称");
        String name = new Scanner(System.in).next();
        System.out.println("请输入商品价格");
        double price = new Scanner(System.in).nextDouble();
        System.out.println("请输入商品数量");
        double number = new Scanner(System.in).nextDouble();

        // 实例化一个商品对象存储数据
        Food food = new Food();
        food.setID(id);
        food.setName(name);
        food.setPrice(price);
        food.setNumber(number);
        food.setMoney(price * number);
        // 把food对象存储到数组中
        arrayList.add(food);
        System.out.println("商品添加成功");
    }

    /*
     * 修改菜单 参数:arraylist 无返回值
     */
    public void update(ArrayList<Food> arrayList) {
        System.out.println("======商品修改操作=======");
        System.out.println("输入要修改的商品编号");
        int id = new Scanner(System.in).nextInt();
        // 遍历数组
        for (int i = 0; i < arrayList.size(); i++) {
            Food food = arrayList.get(i);
            if (food.getID() == id) {
                //录入新的商品
                System.out.println("输入新商品的编号");
                int newId = new Scanner(System.in).nextInt();
                System.out.println("输入新商品的名称");
                String newName = new Scanner(System.in).next();
                System.out.println("输入新商品的单价");
                double newPrice = new Scanner(System.in).nextDouble();
                System.out.println("输入新商品的数量");
                double newNumber = new Scanner(System.in).nextDouble();
                // 封装成对象
                food.setID(newId);
                food.setName(newName);
                food.setPrice(newPrice);
                food.setNumber(newNumber);
                food.setMoney(newNumber * newPrice);
                // 把对象存储到数组中
                arrayList.add(food);
                //把要修改的删除
                arrayList.remove(id);
                System.out.println("修改成功");
                return;
            }
        }        
            System.out.println("不存在此编号的商品");
    }

    /*
     * 删除功能
     * 参数  arrayList
     * 返回值 无返回值
     */
    public void delete(ArrayList<Food> arrayList) {
        System.out.println("======商品删除操作=======");
        System.out.println("输入要删除的商品编号");
        //接受键盘输入的数字
        int id = new Scanner(System.in).nextInt();
        //遍历
        for(int i=1;i<arrayList.size();i++){
            //取出当前的对象
            Food food = arrayList.get(i);
            //判断输入的编号与已经存在的商品编号是否匹配
            if(food.getID()==id){
                arrayList.remove(i);
                System.out.println("成功删除商品");
                return;
            }            
        }
        System.out.println("输入的商品不存在");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_34491508/article/details/81320890