超市管理案例分析

weixin_30924079發表於2020-04-04

列印庫存管理介面:

 

管理員能夠進行的操作有5項(檢視、新增、刪除、修改、退出),我們可以採用switch選單的方式來完成

-------------庫存管理------------

1、檢視貨物清單

2、新增新貨物

3、刪除貨物

4、修改貨物

5、退出系統

請輸入要執行的操作序號:

 

 每一項功能操作,我們採用方法進行封裝,這樣,可使程式的可讀性增強。

選擇 1  .檢視庫存清單功能,則控制檯列印庫存清單

選擇 2 新增新貨物

選擇 3 刪除貨物

選擇 4.修改商品庫存數量功能,則對每種商品庫存數進行更新

選擇 5. 退出功能,則退出庫存管理,程式結束

庫存清單:

l 1.清單頂部為固定的資料,直接列印即可

l 2.清單中部為商品,為變化的資料,需要記錄商品資訊後,列印

經過觀察,我們確定一項商品應該有如下幾個屬性:

品牌型號: 即商品名稱,String

尺寸:物品大小,double

價格:物品單價,double

配置:這一項為每種商品的配置資訊,String

庫存數:這一項為每種商品的庫存個數,int

l 3.清單底部包含了統計操作,需經過計算後,列印

我們發現兩個單獨的可變化量

總庫存數:所有商品總個數,int

庫存商品總金額:所有商品金額,double

 

package com.orcal.demo01;

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

public class Store {

    public static void main(String[] args) {

        ArrayList<Goods> list =new ArrayList<Goods>();
        init(list);
        Scanner sc=new Scanner(System.in);
        while(true){
        show();
        int choose =sc.nextInt();
        switch(choose){
        case 1:
            getgoods(list);
            break;
        case 2:
            getgoods(list);
            add(list);
            break;
        case 3:
            getgoods(list);
            delete(list);
            break;
        case 4:
            getgoods(list);
            update(list);
            break;
        case 5:
            return;
        default :
            System.out.println("您的輸入有誤,請重新輸入!");
        }
        
        }
    }
    public static void show(){
        System.out.println("===============歡迎光臨Oracle超市===============");
        System.out.println("1:貨物清單");
        System.out.println("2:新增新貨物");
        System.out.println("3:刪除貨物");
        System.out.println("4:修改貨物");
        System.out.println("5:退出系統");
        System.out.println("請輸入要操作的功能序號");        
    }
    public static void init(ArrayList<Goods> list){
        Goods g1=new Goods();
        g1.goodsid=9001;
        g1.goodsname="少林寺酥餅核桃";
        g1.price=120.0;
        
        Goods g2=new Goods();
        g2.goodsid=9002;
        g2.goodsname="焦莊燒餅";
        g2.price=20.0;
        
        Goods g3=new Goods();
        g3.goodsid=9003;
        g3.goodsname="周村燒餅";
        g3.price=60.6;
        list.add(g1);
        list.add(g2);
        list.add(g3);
    }
    public static void getgoods(ArrayList<Goods> list){
        System.out.println("==============商品庫存清單=============");
        System.out.println("商品編號\t商品名稱\t商品價格");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i).goodsid+"\t"+list.get(i).goodsname+"\t"+list.get(i).price);
            
        }
    }
    //新增商品方法
    public static void add(ArrayList<Goods> list){
        Scanner sc=new Scanner(System.in);
        Goods gg=new Goods();
        
        boolean faile=true;
        System.out.println("請輸入要新增的新的商品編號");
        int newid=sc.nextInt();
        
        /*while(faile){
            System.out.println("請輸入要新增的新的商品編號");
            int newid=sc.nextInt();
            for (int i = 0; i < list.size(); i++) {
                if(newid==list.get(i).goodsid){
                    System.out.println("該商品編號已存在,請重新輸入");
                }else{
                    newid=sc.nextInt();
                    faile=false;
                }
                
            }
            
        }*/
        
        System.out.println("請輸入要新增的商品名稱");
        String newname=sc.next();
        System.out.println("請輸入要新增的商品價格");
        double newprice=sc.nextDouble();
        gg.goodsid=newid;
        gg.goodsname=newname;
        gg.price=newprice;
        list.add(gg);
        System.out.println("新增成功");    
    }
    //刪除商品方法
    public static void delete(ArrayList<Goods> list){
        System.out.println("請輸入要刪除的商品編號");
        Scanner sc=new Scanner(System.in);
        int goodid=sc.nextInt();
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).goodsid==goodid) {
                list.remove(i);                
            }            
        }
        
    }
    //修改商品方法
    public static void update(ArrayList<Goods> list){
        Scanner sc=new Scanner(System.in);
        System.out.println("請輸入要修改的商品編號");
        int goodid=sc.nextInt();
        System.out.println("請輸入要修改的新的商品編號");
        int newid=sc.nextInt();
        System.out.println("請輸入要修改的商品名稱");
        String newname=sc.next();
        System.out.println("請輸入要修改的商品價格");
        double newprice=sc.nextDouble();
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).goodsid==goodid) {
                list.get(i).goodsid=newid;
                list.get(i).goodsname=newname;
                list.get(i).price=newprice;
            }else{
                System.out.println("沒有該商品編號");
            }
        System.out.println("修改成功");    
        }
        
        
    }

}

 

轉載於:https://www.cnblogs.com/dk2557/p/9347247.html

相關文章