java實(shí)現(xiàn)超市庫(kù)存管理系統(tǒng)
本文實(shí)例為大家分享了java庫(kù)存管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
模擬真實(shí)的庫(kù)存管理邏輯,完成超市管理系統(tǒng)的日常功能實(shí)現(xiàn)。
經(jīng)過(guò)分析,首先需要一個(gè)功能菜單,然后輸入所選的功能后,調(diào)用序號(hào)對(duì)應(yīng)的功能方法,實(shí)現(xiàn)想要的操作。
具體的步驟如下:
1.完成超市商品初始化。創(chuàng)建商品,將商品添加到集合
2.顯示來(lái)到超市能做的操作,也就是顯示主菜單
3.根據(jù)接收到的功能選項(xiàng),執(zhí)行對(duì)應(yīng)的功能
3.1.庫(kù)存貨物查詢
3.2.添加新貨物
3.3.刪除貨物
3.4.修改貨物
3.5.退出系統(tǒng),結(jié)束main方法的運(yùn)行
4.循環(huán),回到 2.顯示主菜單
具體的代碼實(shí)現(xiàn)步驟為:
1.每種庫(kù)存商品都擁有多項(xiàng)商品信息,為了方便管理每種商品的信息,對(duì)商品信息進(jìn)行封裝,編寫FruitItem.java文件
public class FruitItem { // 商品號(hào) int ID; // 商品名字 String name; // 單價(jià) double price; // 數(shù)量 int number; // 總金額 double money; }
2.編寫Shopp.java,完成如下功能:
①主方法 主要實(shí)現(xiàn)集合創(chuàng)建、調(diào)用商品初始化、調(diào)用菜單方法、調(diào)用序號(hào)選擇方法。
public static void main(String[] args) { //創(chuàng)建ArrayList集合,存儲(chǔ)商品類型,存儲(chǔ)數(shù)據(jù)類型FruitItem類型 ArrayList<FruitItem> array = new ArrayList<FruitItem>(); //調(diào)用商品初始化方法,傳遞集合 init(array); while(true){ //調(diào)用菜單方法 mainMenu(); //調(diào)用用戶選擇序號(hào)方法 int choose = chooseFunction(); switch (choose) { case 1: //調(diào)用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("輸入的序號(hào)沒(méi)有"); break; } } }
②商品初始化方法。創(chuàng)建方法,將商品添加到集合里去。
public static void init(ArrayList<FruitItem> array){ //創(chuàng)建出多個(gè)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 = "新疆原產(chǎn)哈密瓜"; f3.price = 599.6; //創(chuàng)建的3個(gè)FruitItem類型變量,存儲(chǔ)到集合中 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("請(qǐng)您輸入要操作的功能序號(hào)"); }
④序號(hào)選擇方法。 根據(jù)接收到的功能選項(xiàng),執(zhí)行對(duì)應(yīng)的操作。
public static int chooseFunction(){ Scanner sc = new Scanner(System.in); return sc.nextInt(); }
⑤庫(kù)存貨物查詢
public static void showFruitList(ArrayList<FruitItem> array){ System.out.println(); System.out.println("================商品庫(kù)存清單================"); System.out.println("商品編號(hào) 商品名稱 商品單價(jià)"); //遍歷集合 for(int i = 0 ; i < array.size(); i++){ //集合get方法,獲取出每個(gè)FruitItem變量,可以使用FruitItem接受get結(jié)果 FruitItem item = array.get(i); //變量item調(diào)用類中屬性 System.out.println(item.ID+" "+item.name+" "+item.price); } }
⑥添加新貨物
public static void addFruit(ArrayList<FruitItem> array){ System.out.println("選擇的是添加商品功能"); //創(chuàng)建Scanner變量 Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入商品的編號(hào)"); //輸入商品的編號(hào) int ID = sc.nextInt(); //輸入商品的名字 System.out.println("請(qǐng)輸入商品的名字"); String name = sc.next(); //輸入商品的單價(jià) System.out.println("輸入商品的單價(jià)"); double price = sc.nextDouble(); //創(chuàng)建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("請(qǐng)輸入商品的編號(hào)"); Scanner sc = new Scanner(System.in); int ID = sc.nextInt(); //遍歷集合 for(int i = 0 ; i < array.size(); i++){ //獲取到每個(gè)FruitItem變量 FruitItem item = array.get(i); //變量,調(diào)用屬性ID,和用戶輸入的編號(hào)比較 if( item.ID == ID){ //移除集合中的元素 //集合的方法remove實(shí)現(xiàn) array.remove(i); System.out.println("刪除成功"); return; } } System.out.println("你輸入的編號(hào)不存在"); }
⑧修改貨物
public static void updateFruit(ArrayList<FruitItem> array){ System.out.println("選擇的是修改功能"); System.out.println("請(qǐng)輸入商品的編號(hào)"); Scanner sc = new Scanner(System.in); int ID = sc.nextInt(); //遍歷集合,獲取每個(gè)FruitItem變量 for(int i = 0 ; i < array.size(); i++){ FruitItem item = array.get(i); //獲取FruitItem的屬性ID,和用戶輸入的ID比較 if(item.ID == ID){ System.out.println("輸入新的商品編號(hào)"); item.ID = sc.nextInt(); System.out.println("輸入新的商品名字"); item.name = sc.next(); System.out.println("輸入新的商品價(jià)格"); item.price = sc.nextDouble(); System.out.println("商品修改成功"); return ; } } System.out.println("輸入的編號(hào)不存在"); }
至此,基本上完成了各項(xiàng)功能,大概的運(yùn)行結(jié)果為:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java 實(shí)戰(zhàn)練手項(xiàng)目之校園超市管理系統(tǒng)的實(shí)現(xiàn)流程
- 基于Mysql+JavaSwing的超市商品管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- java實(shí)現(xiàn)簡(jiǎn)易超市管理系統(tǒng) 附源碼下載
- java實(shí)現(xiàn)簡(jiǎn)單的小超市程序
- java實(shí)現(xiàn)簡(jiǎn)單超市管理系統(tǒng)
- java實(shí)現(xiàn)超市管理系統(tǒng)
- java實(shí)現(xiàn)超市商品庫(kù)存管理平臺(tái)
- java實(shí)現(xiàn)水果超市管理系統(tǒng)
- Java編寫網(wǎng)上超市購(gòu)物結(jié)算功能程序
- Java實(shí)現(xiàn)超市會(huì)員管理系統(tǒng)
相關(guān)文章
Springboot項(xiàng)目的搭建教程(分離出common父依賴)
這篇文章主要介紹了Springboot項(xiàng)目的搭建教程(分離出common父依賴),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01SpringBoot整合Mybatis Plus實(shí)現(xiàn)基本CRUD的示例代碼
Mybatis Plus是在Mybatis的基礎(chǔ)上的增強(qiáng),使得我們對(duì)一些基本的CRUD使用起來(lái)更方便,本文主要介紹了SpringBoot整合Mybatis Plus實(shí)現(xiàn)基本CRUD的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-05-05如何利用java中String類的substring()字符串截取最后一個(gè)字符
Java中的String是不可變的類型,因此substring()方法并不會(huì)改變?cè)址?而是返回了一個(gè)新的字符串,這篇文章主要介紹了如何利用java中String類的substring()字符串截取最后一個(gè)字符,需要的朋友可以參考下2023-11-11SpringBoot統(tǒng)一響應(yīng)格式及統(tǒng)一異常處理
在我們開發(fā)SpringBoot后端服務(wù)時(shí),一般需要給前端統(tǒng)一響應(yīng)格式,本文主要介紹了SpringBoot統(tǒng)一響應(yīng)格式及統(tǒng)一異常處理2023-05-05Maven 項(xiàng)目生成jar運(yùn)行時(shí)提示“沒(méi)有主清單屬性”
這篇文章主要介紹了Maven 項(xiàng)目生成jar運(yùn)行時(shí)提示“沒(méi)有主清單屬性”,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03SpringBoot配置連接兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)的常用方法
在Spring Boot應(yīng)用中連接多個(gè)數(shù)據(jù)庫(kù)或數(shù)據(jù)源可以使用多種方式,本文講給大家介紹兩種常用的方法:使用Spring Boot官方支持的多數(shù)據(jù)源配置和使用第三方庫(kù)實(shí)現(xiàn)多數(shù)據(jù)源,文章通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08SpringBoot?+?layui?框架實(shí)現(xiàn)一周免登陸功能示例詳解
這篇文章主要介紹了SpringBoot+layui框架實(shí)現(xiàn)一周免登陸功能,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08