列印庫存管理介面:
管理員能夠進行的操作有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("修改成功"); } } }