1. 程式人生 > >java超市管理系統實戰

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