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)文章
Java class文件格式之屬性_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
在本文中, 主要講解了class文件中的一些屬性。 這些屬性可以出現(xiàn)在class文件中的對(duì)個(gè)地方, 用來(lái)描述一些其他信息2017-06-06
詳解Java遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)的兩種方式
在開發(fā)的過(guò)程中,很多業(yè)務(wù)場(chǎng)景需要一個(gè)樹形結(jié)構(gòu)的結(jié)果集進(jìn)行前端展示,也可以理解為是一個(gè)無(wú)限父子結(jié)構(gòu),常見的有報(bào)表指標(biāo)結(jié)構(gòu)、菜單結(jié)構(gòu)等,這篇文章主要介紹了Java遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)的兩種方式,需要的朋友可以參考下2022-10-10
javamail實(shí)現(xiàn)注冊(cè)激活郵件
這篇文章主要為大家詳細(xì)介紹了javamail實(shí)現(xiàn)注冊(cè)激活郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
IDEA自定義setter和getter格式的設(shè)置方法
這篇文章主要介紹了IDEA自定義setter和getter格式的設(shè)置方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-12-12
Java正則表達(dá)式實(shí)現(xiàn)在文本中匹配查找換行符的方法【經(jīng)典實(shí)例】
這篇文章主要介紹了Java正則表達(dá)式實(shí)現(xiàn)在文本中匹配查找換行符的方法,結(jié)合具體實(shí)例分析了java正則匹配查找換行符的實(shí)現(xiàn)技巧與匹配模式相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2017-04-04
MongoDB整合Spring實(shí)例詳細(xì)講解(含代碼)
這篇文章主要介紹了MongoDB整合Spring實(shí)例詳細(xì)講解(含代碼),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
Java實(shí)現(xiàn)Timer的定時(shí)調(diào)度函數(shù)schedule的四種用法
本文主要介紹了Java實(shí)現(xiàn)Timer的定時(shí)調(diào)度函數(shù)schedule的四種用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Spring?invokeBeanFactoryPostProcessors方法刨析源碼
invokeBeanFactoryPostProcessors該方法會(huì)實(shí)例化所有BeanDefinitionRegistryPostProcessor和BeanFactoryPostProcessor的實(shí)例并且執(zhí)行postProcessBeanFactory與postProcessBeanDefinitionRegistry方法2023-01-01
基于json解析神器 jsonpath的使用說(shuō)明
這篇文章主要介紹了基于json解析神器 jsonpath的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02

