Java实现超市库存管理系统

时间:2022-11-13 23:05:01

        模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现。

        经过分析,首先需要一个功能菜单,然后输入所选的功能后,调用序号对应的功能方法,实现想要的操作。

        具体的步骤如下:

        1.完成超市商品初始化创建商品,将商品添加到集合

        2.显示来到超市能做的操作,也就是显示主菜单

        3.根据接收到的功能选项,执行对应的功能

            3.1.库存货物查询

            3.2.添加新货物

            3.3.删除货物

            3.4.修改货物

            3.5.退出系统,结束main方法的运行

        4.循环,回到 2.显示主菜单

        具体的代码实现步骤为:

        1.每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,对商品信息进行封装,编写FruitItem.java文件

public class FruitItem {
	// 商品号
	int ID;
	// 商品名字
	String name;
	// 单价
	double price;
	// 数量
	int number;
	// 总金额
	double money;
}

        2.编写Shopp.java,完成如下功能:

            ①主方法  主要实现集合创建、调用商品初始化、调用菜单方法、调用序号选择方法。

public static void main(String[] args) {
        //创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
        ArrayList<FruitItem> array = new ArrayList<FruitItem>();
        //调用商品初始化方法,传递集合
        init(array);
        while(true){
            //调用菜单方法
            mainMenu();
            //调用用户选择序号方法
            int choose = chooseFunction();
            switch (choose) {
            case 1:
                //调用1: 货物 清单
                showFruitList(array);
            break;
            
            case 2:
                //2: 添加货物
                addFruit(array);
            break;
            
            case 3:
                //3: 删除货物
                deleteFruit(array);
            break;
            
            case 4:
                //4: 修改货物
                updateFruit(array);
            break;
            
            case 5:
                return ;

            default:
                System.out.println("输入的序号没有");
                break;
            }
        }
    }

            ②商品初始化方法。创建方法,将商品添加到集合里去。

public static void init(ArrayList<FruitItem> array){
		//创建出多个FruitItem类型,并且属性赋值
		FruitItem f1 = new FruitItem();
		f1.ID = 9527;
		f1.name = "少林寺酥饼核桃";
		f1.price = 12.7;
		
		FruitItem f2 = new FruitItem();
		f2.ID = 9008;
		f2.name = "尚康杂粮牡丹饼";
		f2.price = 5.6;
		
		FruitItem f3 = new FruitItem();
		f3.ID = 9879;
		f3.name = "*原产哈密瓜";
		f3.price = 599.6;
		
		//创建的3个FruitItem类型变量,存储到集合中
		array.add(f1);
		array.add(f2);
		array.add(f3);
	}

            ③菜单显示方法,也就是显示具体能完成哪些操作。

public static void mainMenu(){
	System.out.println();
        System.out.println("============欢迎光临ItCast超市============");
        System.out.println("1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出");
        System.out.println("请您输入要操作的功能序号");
	}

            ④序号选择方法。 根据接收到的功能选项,执行对应的操作。

	public static int chooseFunction(){
		Scanner sc = new Scanner(System.in);
		return sc.nextInt();  
 }

            ⑤库存货物查询

public static void showFruitList(ArrayList<FruitItem> array){
		System.out.println();
		System.out.println("================商品库存清单================");
		System.out.println("商品编号         商品名称                商品单价");
		//遍历集合
		for(int i = 0 ; i < array.size(); i++){
			//集合get方法,获取出每个FruitItem变量,可以使用FruitItem接受get结果
			FruitItem item = array.get(i);
			//变量item调用类中属性
			System.out.println(item.ID+"   "+item.name+"        "+item.price);
		}
	}

            ⑥添加新货物

public static void addFruit(ArrayList<FruitItem> array){
		System.out.println("选择的是添加商品功能");
		//创建Scanner变量
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入商品的编号");
		//输入商品的编号
		int ID = sc.nextInt();
		//输入商品的名字
		System.out.println("请输入商品的名字");
		String name = sc.next();
		//输入商品的单价
		System.out.println("输入商品的单价");
		double price = sc.nextDouble();
		//创建FruitItem变量
		FruitItem item = new FruitItem();
		//item.属性赋值
		item.ID = ID;
		item.name = name;
		item.price = price;
		array.add(item);
		System.out.println("商品添加成功");
	}

            ⑦删除货物

public static void deleteFruit(ArrayList<FruitItem> array){
		System.out.println("选择的是删除功能");
		System.out.println("请输入商品的编号");
		Scanner sc = new Scanner(System.in);
		
		int ID = sc.nextInt();
		//遍历集合
		for(int i = 0 ; i < array.size(); i++){
			//获取到每个FruitItem变量
			FruitItem item = array.get(i);
			//变量,调用属性ID,和用户输入的编号比较
			if( item.ID == ID){
				//移除集合中的元素
				//集合的方法remove实现
				array.remove(i);
				System.out.println("删除成功");
				return;
			}
		}
		System.out.println("你输入的编号不存在");
	}

            ⑧修改货物

public static void updateFruit(ArrayList<FruitItem> array){
		System.out.println("选择的是修改功能");
		System.out.println("请输入商品的编号");
		
		Scanner sc = new Scanner(System.in);
		int ID = sc.nextInt();
		//遍历集合,获取每个FruitItem变量
		for(int i = 0 ; i < array.size(); i++){
			FruitItem item = array.get(i);
			//获取FruitItem的属性ID,和用户输入的ID比较
			if(item.ID == ID){
				System.out.println("输入新的商品编号");
				item.ID = sc.nextInt();
				
				System.out.println("输入新的商品名字");
				item.name = sc.next();
				
				System.out.println("输入新的商品价格");
				item.price = sc.nextDouble();
				System.out.println("商品修改成功");
				return ;
			}
		}
		System.out.println("输入的编号不存在");
	}

        至此呢基本上完成了各项功能,大概的运行结果为:

Java实现超市库存管理系统

当输入5时退出。