Java實現超市庫存管理系統

        模擬真實的庫存管理邏輯,完成超市管理系統的日常功能實現。

        經過分析,首先需要一個功能菜單,然後輸入所選的功能後,調用序號對應的功能方法,實現想要的操作。

        具體的步驟如下:

        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("輸入的編號不存在");
	}

        至此呢基本上完成了各項功能,大概的運行結果爲:

當輸入5時退出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章