Java 案例七 超市管理系統(商品清單,商品新增,商品刪除,修改庫存)
阿新 • • 發佈:2019-01-14
import java.util.ArrayList; import java.util.Scanner; /* * 超市管理系統 * 實現的功能: * 1.商品資料的初始化 * 2.使用者的選單選擇 * 3.根據選擇執行不同的功能 * 3.1 read 檢視商品 * 3.2 Create 新增商品 * 3.3 Delete 刪除商品 * 3.4 Update 修改商品 * 3.5 Exit 退出系統 * 4迴圈回到2顯示主選單 * * 所有功能,必須定義方法實現 * 主方法main 呼叫作用 * */ public class Shopp { /** * @param args */ 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:修改貨物 updataFruit(array); break; case 5: //呼叫5:退出 return; default: System.out.println("沒有此功能"); break; } } } /* * 定義方法,實現商品的刪除功能 * 返回值:無 * 引數:集合 * * 提示使用者選擇的是修改功能 * 提示使用者輸入需要修改的商品編號 * 遍歷集合,獲取每個FruitItem變數 * 變數呼叫的ID屬性,屬性和使用者輸入的屬性值 * 如果相同 * 修改FruitItem中的屬性值 * 鍵盤輸入 * */ public static void updataFruit(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("您輸入的編號不存在"); } /* * 定義方法,實現商品的刪除功能 * 返回值:無 * 引數:集合 * * 刪除依靠的是商品的編號 * 提示使用者選擇的是刪除功能 * 鍵盤輸入商品編號 * 遍歷集合,獲取集合中的每個FruitItem變數 * 變數呼叫屬性 ID和使用者數的編號對比,相同就刪除 */ 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); if(item.ID == ID){ //移除集合找那個的元素 //集合的方法remove實現 array.remove(i); System.out.println("刪除成功"); return; } } System.out.println("您輸入的編號不存在"); } /* * 定義方法,實現商品的新增功能 * 返回值:無 * 引數:集合 * 提示使用者你選擇的是新增商品的功能 * * 提示使用者輸入的是什麼 * * 建立FruitItem變數,變數呼叫的屬性 * 將輸入的每個商品屬性進行賦值 */ 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("新增成功"); } /* * 定義方法,實現顯示貨物清單 * 返回值:無 * 引數:集合 * 遍歷集合,獲取集合中的每個FruitItem變數,變數呼叫屬性 */ 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); System.out.println(item.ID+" "+item.name+" "+item.price); } } /* * 定義方法,實現接受使用者的鍵盤輸入 * 返回編號 */ public static int chooseFunction(){ Scanner sc = new Scanner(System.in); return sc.nextInt(); } /* * 定義方法,實現主選單 * 提示使用者哪些選擇哪個序號 * 返回值:無 */ public static void mainMenu(){ System.out.println("----------------歡迎光臨ItCast超市----------------"); System.out.println("1.貨物清單 2.新增貨物 3.刪除貨物 4.修改貨物 5.退出"); System.out.println("請輸入您要操作的功能序號:"); } /* * 定義一個方法,實現商品資料的初始化 * 將一部分資料存集合中 * 返回值:無 * 方法名 :init */ private static void init(ArrayList<FruitItem> array) { //創建出多個FruitItem型別,並且屬性賦值 FruitItem f1 = new FruitItem(); FruitItem f2 = new FruitItem(); FruitItem f3 = new FruitItem(); f1.name = "武當山核桃酥"; f1.ID = 9001; f1.price = 120; f2.name = "上刊雜糧牡丹餅"; f2.ID = 9002; f2.price = 20; f3.name = "新疆原產哈密瓜"; f3.ID = 9003; f3.price = 99; //建立的3個FruitItem型別變數,儲存到集合中 array.add(f1); array.add(f2); array.add(f3); } }
還有個類:
/*
* 新建一個水果類:
* 這個類包含的屬性有:
* 商品編號 int
* 商品名稱 String
* 商品單價 double
* 庫存量 int
* 總價 double
*
*/
public class FruitItem {
//商品編號
int ID;
// 商品名字
String name;
//商品價格
double price;
//商品數量
int number;
//總價
double mount;
}
執行結果