版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、炊迎使用我彳一攜恚購物首理系疣1版*#口*&晨00N*8Z*工內(nèi)*Ui3登錄系統(tǒng)2 .更改管理員茁蘆3 .退出,青子曾上廿盤*中M*直*盤#青餐請(qǐng)洗捺,輸入?yún)sM;請(qǐng)愉人用戶若:,二="情輸入密g:流迎使用我行找素購物菅理系豌*,*4*$,*一與叁,*A>d1 .客戶信息管理2 .附物潔等3,直情回憒*注銷*去*叁,*癡癡,*,*,貨*,*事+,+d請(qǐng)選擇,輸入數(shù)字門我行技素購相首理系統(tǒng)二官戶信恩管度事*卡杳、*春>!1 .顯示所有客戶信息,通加客戶信息3 .修改客戶信息4 .查河客尸信總諳選再,嶄人射字或侵F*返回上一空菜至:獨(dú)行發(fā)素購物管理系統(tǒng),客戶信息管理3顯
2、示客戶售電會(huì)員號(hào)生日積分11190008/0520001711C7/1S400D123CE/2ES0QD15"皿SE2290H61ce/je1090137Z3QQQ12S612/2110030清按返目上一級(jí)錄里;我行我素購物管理系統(tǒng)官戶信息管理1 .顯示斯育客尸信息,薦加存戶信息上修改客:信.息4 .查詢客戶信息諳枕毒,輸入物字或按F,返回上一填菜里:找行故案科物管理否拄客戶信息管理溥加春戶信息請(qǐng)輸入會(huì)員號(hào)"與他整船二陣陣信輸入等員生日(月/日W用兩位物表示力;”情輸入積分;m新會(huì)員港前成功I雉續(xù)添加=員嗎?(y/n)請(qǐng)按一1返同上一緞菜單:我行我素同物言理系統(tǒng)卷尸信息管理
3、1 .顯示所有客戶情息就再加石二信展1、購物系統(tǒng)的需求分析與類劃分購物系統(tǒng)本身就是一個(gè)十分復(fù)雜的系統(tǒng),有很多細(xì)節(jié)問題如果深究會(huì)更加復(fù)雜,并且一般購物系統(tǒng)都就是網(wǎng)頁類型的,要有一個(gè)友好的界面,但就是作為一個(gè)簡(jiǎn)單項(xiàng)目,該項(xiàng)目只就是為了給JAVA初學(xué)者介紹F開發(fā)的基本思想,以及面向?qū)ο髸r(shí)應(yīng)該怎樣去設(shè)計(jì)框架與實(shí)現(xiàn)流程所以只就是基于eclipse開發(fā)的一個(gè)簡(jiǎn)單的項(xiàng)目,并沒有GUI的參與,并且很多細(xì)節(jié)問題作為后續(xù)研究,整體的設(shè)計(jì)比較簡(jiǎn)單,但就是足以說明很多設(shè)計(jì)思想與設(shè)計(jì)理念,那么下面對(duì)基本的需求進(jìn)行分析。作為一個(gè)簡(jiǎn)單的購物系統(tǒng),至少需要具備以下功能(這些功能分布在不同級(jí)的菜單中):(1) 用戶登錄功能、用
4、戶賬號(hào)密碼修改功能,暫時(shí)不提供注冊(cè)功能;(2) 用戶成功登錄后,需要具備客戶信息的管理功能、購物結(jié)算功能以及一些抽獎(jiǎng)活動(dòng)等;(3) 客戶信息管理功能下面又可以分出很多功能,比如說:查詢、修改、增加等;(4) 購物結(jié)算功能下面又可以分出很多功能,比如說:商品選購、付款、賬單等;(5) 抽獎(jiǎng)活動(dòng)下面又可以設(shè)計(jì)出多種的抽獎(jiǎng)形式,從而進(jìn)一步劃分為許多新的功能模塊。(6) 在一級(jí)菜單中要提供退出系統(tǒng)的功能,在二級(jí)菜單中要提供注銷登錄的功能,其她級(jí)菜單都要能夠返回上一級(jí)菜單。上面的這些功能都就是一些比較基本的功能,那么如果按照面向流程的思想來設(shè)計(jì),就會(huì)劃分很多功能模塊,然后按照流程一步步走就行,但就是現(xiàn)在
5、我們采用面向?qū)ο蟮乃枷雭碓O(shè)計(jì),那么應(yīng)該如何考慮設(shè)計(jì)框架呢?面向?qū)ο蟮闹饕枷刖途褪菍⒁恍┬枨蟪橄鬄樵S多類,然后建立這些類之間的聯(lián)系,通過不同類之間的協(xié)同合作,就可以實(shí)現(xiàn)所有的功能。所以,現(xiàn)在的主要任務(wù)就就是如何合理地抽象出這些類,以及這些類要實(shí)現(xiàn)什么功能,類之間的聯(lián)系又就是什么?下面通過本次設(shè)計(jì)的結(jié)構(gòu)對(duì)這一過程進(jìn)行分析。(1)StartSMS類:用于系統(tǒng)的啟動(dòng)。我們的系統(tǒng)肯定需要一個(gè)啟動(dòng)類,這個(gè)類里面包含了main方法,用來啟動(dòng)這個(gè)系統(tǒng),這個(gè)類就是最頂層的,所以不能牽涉太多底層的細(xì)節(jié)實(shí)現(xiàn),只需要實(shí)現(xiàn)一些頂層的基本流程就行,主要還就是要調(diào)用底層其她類的一些方法來實(shí)現(xiàn)功能。(2)Data類:用來存
6、放我們的所有數(shù)據(jù)信息,本次設(shè)計(jì)主要存放的就是已經(jīng)預(yù)存的一些可供購買的商品信息與已經(jīng)注冊(cè)的會(huì)員信息。為什么需要這個(gè)類呢?大家想一想,在面向?qū)ο蟮脑O(shè)計(jì)中,我們的數(shù)據(jù)比較多,肯定不能零散地到處定義、任意修改,這樣會(huì)使得系統(tǒng)的聚合程度太低,容易出現(xiàn)很多錯(cuò)誤,并且難以進(jìn)行后期功能擴(kuò)展與錯(cuò)誤修改,所以我們要把用到的一些公有的數(shù)據(jù)進(jìn)行歸類,然后放在一個(gè)類中,并且在該類中提供對(duì)這些數(shù)據(jù)進(jìn)行操作的方法。(3)Menu類:用于顯示及處理各級(jí)菜單。既然我們?cè)O(shè)計(jì)的就是一個(gè)購物系統(tǒng),那么即使再簡(jiǎn)單,也需要一個(gè)基本的菜單,用來與用戶進(jìn)行交互,由于菜單的比較多,并且各級(jí)菜單之間層層相連,所以我們需要對(duì)菜單進(jìn)行統(tǒng)一管理,故而
7、出現(xiàn)了菜單類。注意,這里的菜單只就是一些頂層的菜單顯示與基本的功能調(diào)用,具體底層的算法還就是需要更加底層的類來實(shí)現(xiàn)的。(4)Manager類:用于存儲(chǔ)用戶的賬戶與密碼。既然我們需要用戶登錄,那么肯定需要一個(gè)單獨(dú)的類來管理用戶的賬戶與密碼,從而使系統(tǒng)的獨(dú)立性更強(qiáng)一些。本次設(shè)計(jì)的用戶只有一個(gè)賬戶與密碼,只允許修改賬戶與密碼,但就是不允許注冊(cè)。(5)VerifyEqual類:用于驗(yàn)證登錄信息。這個(gè)類相當(dāng)于就是把登錄這項(xiàng)功能抽象成了一個(gè)類,這個(gè)實(shí)現(xiàn)其實(shí)并不就是非常必要,但就是為了使得系統(tǒng)功能劃分更加清晰,所以設(shè)計(jì)了此類,用來對(duì)登錄信息與已有的賬戶與密碼進(jìn)行校驗(yàn),從而給出校驗(yàn)結(jié)果。(6)CustMana
8、gement類:用于客戶信息的管理,該類實(shí)現(xiàn)了底層的一些功能,比如說查詢、修改、增加等。當(dāng)我們進(jìn)入到客戶信息管理這個(gè)菜單的時(shí)候,肯定需要對(duì)客戶信息進(jìn)行許多操作,為了方便管理這些操作,并考慮到后續(xù)的擴(kuò)展性,這里把客戶信息管理的所有功能都抽象出來,放在此類中,上一級(jí)菜單通過調(diào)用該類中的方法實(shí)現(xiàn)客戶信息的管理。(7)Pay類:用于處理購物與結(jié)算操作。該類與上面的類存在的原理基本一致,當(dāng)客戶選擇進(jìn)行購物的時(shí)候,肯定要有很多操作,比如說買什么、多少錢、付款、找零等,這些功能比較零碎,所以我們對(duì)其進(jìn)行集中管理,從而抽象出該類,對(duì)購物與結(jié)算的菜單選項(xiàng)的底層算法進(jìn)行實(shí)現(xiàn),上一級(jí)菜單通過調(diào)用該類的方法實(shí)現(xiàn)購物與
9、結(jié)算功能,并且可以返回上一級(jí)菜單。(8)GiftManagement類:用于處理抽獎(jiǎng)活動(dòng)的相關(guān)功能。這個(gè)類與(6)、(7)中的類存在的理由基本一致,該類對(duì)抽獎(jiǎng)活動(dòng)進(jìn)行了統(tǒng)一管理,上一級(jí)菜單只需要通過調(diào)用該類的方法就可以實(shí)現(xiàn)抽獎(jiǎng)的功能。(9)Gift類:用于管理禮物。既然設(shè)計(jì)了抽獎(jiǎng)環(huán)節(jié),那么肯定需要禮物,那么我們會(huì)給出什么樣的禮物呢,我們總不能每一樣禮物都詳細(xì)列出來吧,這樣十分冗余,也很麻煩,所以我們干脆抽象出一個(gè)禮物類,把禮物的一些屬性:禮物名稱與價(jià)格等保存成該類的成員變量,然后就可以很方便的管理該類,需要什么樣的禮物就直接新建一個(gè)禮物對(duì)象,然后對(duì)該對(duì)象的屬性進(jìn)行修改與管理即可,這樣的實(shí)現(xiàn)類似
10、于一個(gè)接口但就是又與接口完全不一樣,功能差不多??傊?上面的類都就是經(jīng)過一些功能模塊劃分后抽象出來的,有些地方也并不一定合理,主要還就是需要瞧需求,根據(jù)不同的需求制定不同的方案。在這里,我想就”Gift類“再強(qiáng)調(diào)一點(diǎn),這個(gè)類的設(shè)計(jì)十分符合面向?qū)ο蟮乃枷?舉個(gè)例子來瞧,如果購物系統(tǒng)中需要很多禮物,比如手機(jī)、電腦、移動(dòng)電源等,那么如果我們一個(gè)個(gè)寫這些禮物,會(huì)使得系統(tǒng)代碼十分冗余,因?yàn)槎Y物的屬性基本一樣,所以我們就可以抽象成一個(gè)類,從而在需要什么禮物的時(shí)候只定義一個(gè)對(duì)象,然后賦予一定的屬性即可,比如需要手機(jī)、電腦,那么我們只需要new一個(gè)Gift類的對(duì)象,然后在需要手機(jī)的時(shí)候設(shè)置其屬性為手機(jī),在需要
11、電腦的時(shí)候設(shè)置其屬性為電腦,需要什么設(shè)置什么即可,這樣就使得我們的代碼得到了簡(jiǎn)化,也使得結(jié)構(gòu)比較清晰。在更為復(fù)雜的系統(tǒng)中,其實(shí)禮物用接口來實(shí)現(xiàn)更為合理,這樣就可以根據(jù)該接口實(shí)現(xiàn)不同的禮物類,從而滿足不同的需求,就類似于我們的電腦上的US噴口,只需要這個(gè)接口,我們就可以插上很多各種各樣的外圍設(shè)備,道理差不多。2、購物系統(tǒng)的類之間的關(guān)系與流程(用圖示法表示)J下圖就是我用MicrosoftOfficeVisio2003畫圖工具畫出的這9個(gè)類之間的關(guān)系從上圖中可以清晰地瞧出來各類之間的關(guān)系,大致關(guān)系與流程如下所述:(1)StartSMS類就是啟動(dòng)類,內(nèi)含main方法,這個(gè)類里面定義了VerifyEq
12、ual類與Data類的對(duì)象,用來存儲(chǔ)數(shù)據(jù)與驗(yàn)證信息,同時(shí)Data類中包含了Manager類,用來存儲(chǔ)預(yù)存的用戶賬號(hào)信息,然后在main方法中通過一定的邏輯,去調(diào)用Menu類中的showLoginMenu()方法,用于MueIhj4M5山)“書比dd0方法導(dǎo)modify0方法;需:irchO方法:其方法eP”類玷tDi隊(duì)方法:dlcPricct»法,'Gin'lnii爾umtiN類TctumlastMcnu()./j>ModsirthCustO方法sendl.uckyCusH7片”scndGNdcnCusfO價(jià)MriiuS:shdLDFiuMcfiLH)方法;審s
13、howMninMcii帆)方法;CuscMMenu<)方法tshovSndGMcnut)方法:.MarthNS類便T1個(gè)m疝1方法用來處建繳菜單)Data類(存儲(chǔ)已市商品信息)和客戶信息)Alimugi?類(存儲(chǔ)預(yù)存的賬戶和*在碼)NX貼rWyFquu】類;(Yerif。方法筮證賬戶密碼)處理一級(jí)菜單-登錄修改流程(2)如果登錄成功,就調(diào)用Menu類中的showMainMenu()方法,用于處理二級(jí)菜單-購物系統(tǒng)的主流程,如果登錄失敗3次,就直接退出系統(tǒng);(3)在Menu類中的showMainMenu()方法中,通過選擇不同的二級(jí)菜單選項(xiàng),從而調(diào)用Menu類中的showCustMMenu
14、(方法來處理客戶信息管理流程或者調(diào)用Menu類中的showSendMenu(方法來處理抽獎(jiǎng)活動(dòng)流程,亦或者調(diào)用Pay類中的calcPrice()方法來處理購物結(jié)算流程;(4)如果選擇了二級(jí)菜單中的客戶信息管理選項(xiàng),那么就會(huì)調(diào)用Menu類中的showCustMMenu(枕T法,這個(gè)方法會(huì)調(diào)用CustManagemen旗中的各種方法,用以處理客戶信息管理的不同操作;(5)如果選擇了二級(jí)菜單中的購物結(jié)算選項(xiàng),那么就會(huì)調(diào)用Pay類中的calcPrice()方法,從而處理購物結(jié)算的流程,注意在Pay類中的getDiscount()方法就是用來根據(jù)客戶會(huì)員信息來計(jì)算打折率的;(6)如果選擇了二級(jí)菜單中的真
15、情回饋選項(xiàng),即抽獎(jiǎng)活動(dòng),那么就會(huì)調(diào)用Menu類中的showSendMenu(應(yīng)法,這個(gè)方法會(huì)調(diào)用GiftManagement類中的各種方法,用以處理抽獎(jiǎng)活動(dòng)的不同操作;注意到在CustManagement類與GiftManagement類中都有一個(gè)returnLastMenu()方法,該方法就是用來返回上一級(jí)菜單使用的。3、代碼實(shí)現(xiàn)需要說明的一點(diǎn)就是這些代碼都應(yīng)該放在cn、itcast包下。3、1StartSMS類javaviewplaincopy1packagecn、itcast;2importjava、util、Scanner;/*4 *該類就是這個(gè)系統(tǒng)的主方法類,用于啟動(dòng)購物系統(tǒng)5 *6
16、 *author7 *8 */9 publicclassStartSMS10 /*11 *空構(gòu)造方法12 *13 */14 publicStartSMS()15 16 /*17 *系統(tǒng)主方法18 *19*paramargs20*/21publicstaticvoidmain(Stringargs)22/創(chuàng)建已有的數(shù)據(jù)類的對(duì)象,并初始化已有的商品信息與顧客信息23Datadata=newData();24data、initial();25/創(chuàng)建菜單類的對(duì)象26Menumenu=newMenu();27/這里將初始化的已有數(shù)據(jù)信息送給了菜單對(duì)象28menu、setData(29data、goods
17、Name,3031data、goodsPrice,data、custNo,32data、custBirth,33data、custScore);34/顯示一級(jí)菜單,即登錄界面35menu、showLoginMenu();36/該標(biāo)志用來判斷就是否發(fā)生了系統(tǒng)操作錯(cuò)誤,當(dāng)操作不當(dāng)?shù)臅r(shí)候flag為假,從而退出系統(tǒng),默認(rèn)為無錯(cuò)誤37booleanflag=true;38/處理整個(gè)系統(tǒng)的流程39do40/發(fā)生操作錯(cuò)誤,退出系統(tǒng)41if(!flag)42break;43. /創(chuàng)建驗(yàn)證用戶登錄的賬戶與密碼就是否正確的類的對(duì)象,這里只創(chuàng)建對(duì)象,并沒有執(zhí)行驗(yàn)證方法44. VerifyEqualverifyequ
18、al=newVerifyEqual();45. /輸入一級(jí)菜單中的選擇46. Scannerscanner=newScanner(System、in);47. inti=scanner、nextInt();48. /根據(jù)用戶對(duì)一級(jí)菜單的選擇做出不同的響應(yīng),注意這里就就是經(jīng)典的switch-case的用法49. switch(i)50. case1:/用戶選擇"登錄系統(tǒng)"51. /定義計(jì)數(shù)器,表示用戶最多只能嘗試52. intj=3;53. /處理登錄系統(tǒng)的流程54. do55. if(verifyequal56.data、57. /用戶登錄成功58.59. break;60
19、.61. if(j!=1)62. /用戶輸入有誤63.名與密碼不匹配,請(qǐng)重新輸入:");64.65. /3次嘗試結(jié)束,設(shè)置退出標(biāo)志,并退出do-while66.有權(quán)限進(jìn)入系統(tǒng)!謝謝!");67.68. break;69.70. /每輸入一次將計(jì)數(shù)器減1,71.72.73. break;、verify(data3次,3次輸入錯(cuò)誤直接退出系統(tǒng)、manager、username,manager、password),顯示購物二級(jí)菜單!,還沒有達(dá)到3次,允許重新輸入用于表示已經(jīng)嘗試了多少次whilemenu、showMainMenu();System、out、println(&quo
20、t;n用戶else循環(huán)System、out、println("n您沒flag=false;j-;(true);74.case2:/用戶選擇"更改管理員信息"75.if(verifyequal、verify(data、manager、username,76.data、manager、password)77./輸入新信息前要先驗(yàn)證原來的信息,此處表示已經(jīng)驗(yàn)證成功78.System、out、print("請(qǐng)輸入新的用戶名:");79.data、manager、usernamescanner、next();80.碼:" );81.next()
21、;82.更改! " );83. / 信息更改成功 , 選擇下一步的操作84.數(shù)字 :" );85.86. / 信息驗(yàn)證失敗, 設(shè)置退出標(biāo)志87.修改! " );88.System、out、print("請(qǐng)輸入新的密data、manager、password=scanner、System、out、println("用戶名與密碼已System、out、println("n請(qǐng)選擇,輸入elseSystem、out、println("抱歉,您沒有權(quán)限flag=false;89. 90. break;91. case3:/用戶選擇&q
22、uot;退出"92. System、out、println("謝謝您的使用!");93. System、exit(0);94. break;95. default:/一級(jí)菜單輸入錯(cuò)誤,需要重新選擇96. System、out、print("n輸入有誤!請(qǐng)重新選擇輸入數(shù)字:");97. break;98. 99. while(flag);100. 101.3、2Data類javaviewplaincopy1.packagecn、itcast;2./*該類只就是存放了已有的商品信息與顧客信息3. *存放購物系統(tǒng)的初始化數(shù)據(jù)的數(shù)據(jù)類4. *5. *a
23、uthor6. *7. */8. publicclass9. /*Data, 所以都需要采用 new10. *默認(rèn)構(gòu)造方法,初始化變量,由于都就是數(shù)組對(duì)象或類對(duì)象11. *12. */13.publicData()14.goodsName=newString50;15.goodsPrice=newdouble50;16.custNo=newint100;17.custBirth=newString100;18.custScore=newint100;19.manager=newManager();20.21./*22.*初始化該類的數(shù)據(jù)23.*24.*/25.publicvoidinitial
24、()26./*=添加了初始的7種商品信息=27.goodsName0="addidas運(yùn)動(dòng)鞋"28.goodsPrice0=880D;29.goodsName1="Kappa網(wǎng)球裙"30.goodsPrice1=200D;31.goodsName2="網(wǎng)球拍"32.goodsPrice2=780D;33.goodsName3="addidasT恤"34.goodsPrice3=420、77999999999997D;35.goodsName4="Nike運(yùn)動(dòng)鞋"36.goodsPrice4=90
25、0D;37.goodsName5="Kappa網(wǎng)球"38.goodsPrice5=45D;39.goodsName6="KappaT恤"40.goodsPrice6=245D;41./*=添加了初始的7個(gè)顧客信息=42.custNo0=1900;43.custBirth0="08/05"44.custScore0=2000;45.custNo1=1711;46.custBirth1="07/13"47.custScore1=4000;48.custNo2=1623;49.custBirth2="06/26
26、"50.custScore2=5000;51.custNo3=1545;52.custBirth3="04/08"53.custScore3=2200;54.custNo4=1464;55.custBirth4="08/16"56.custScore4=1000;57.custNo5=1372;58.custBirth5="12/23"59.custScore5=3000;60.custNo6=1286;61.custBirth6="12/21"62.custScore6=10080;63.64./*=定
27、義該類所擁有的變量=*/65.publicStringgoodsName;/商品的名稱66.publicdoublegoodsPrice;/商品的價(jià)格67.publicintcustNo;/顧客的會(huì)員號(hào)68.publicStringcustBirth;/顧客的生日69.publicintcustScore;/顧客的積分70. publicManagermanager;/管理員類,僅僅存儲(chǔ)了管理員的用戶名與密碼71. 3、3Manager類javaviewplaincopy1.packagecn、itcast;2./*3. *管理員類,僅僅存儲(chǔ)了管理員的用戶名與密碼4. *5. *author6
28、. *7. */8. publicclassManager9. /*10. *設(shè)置默認(rèn)的用戶名與密碼11. *12. */13. publicManager()14. username="itcast"15. password="itcast"16. 17. /*=定義該類所擁有的變量=*/18. publicStringusername;/用戶名19. publicStringpassword;/密碼20. 3、4VerifyEqual類javaviewplaincopy1.packagecn、itcast;2.importjava、util、Scan
29、ner;3./*4.*驗(yàn)證用戶登錄的賬戶與密碼就是否正確的類5.*6.*author7.*8.*/9.publicclassVerifyEqual10./*11.*空構(gòu)造方法12.*13.*/14.publicVerifyEqual()15.16./*17.*執(zhí)行驗(yàn)證的方法18.*19.*params用于驗(yàn)證的正確的用戶名20.*params1用于驗(yàn)證的正確的密碼21.*return22.*/23.publicbooleanverify(Strings,Strings1)24./由用戶輸入用戶名25.System、out、print("請(qǐng)輸入用戶名:");26.Scanne
30、rscanner=newScanner(System、in);27.Strings2=scanner、next();28./由用戶輸入密碼29.System、out、print("請(qǐng)輸入密碼:");30.scanner=newScanner(System、in);31.Strings3=scanner、next();32./判斷用戶輸入的信息就是否與已有的信息一致33.returns2、equals(s)&&s1、equals(s3);34.35.3、5Menu類javaviewplaincopy1. packagecn、itcast;2. importja
31、va、util、Scanner;3./*4.*菜單類,用于顯示所有級(jí)菜單供用戶選擇6*author7*8*/9publicclassMenu10/*11*空構(gòu)造方法12*13*/14publicMenu()1516/*17*設(shè)置菜單類中的數(shù)據(jù)信息18*19*paramas20*paramad21*paramai22*paramas123*paramai124*/25publicvoidsetData(Stringas,doublead,intai,Stringas1,intai1)26goodsName=as;27goodsPrice=ad;28custNo=ai;29custBirth=as
32、1;30custScore=ai1;3132/*33*顯示一級(jí)菜單,即登錄界面34*35*/36publicvoidshowLoginMenu()37System、out、println("nnttt歡迎使用itcast購物管理系統(tǒng)1、0版nn");38System、out、println("*n");39System、out、println("tttt1、登錄系統(tǒng)nn");40System、out、println("tttt2、更改管理員信息nn");41System、out、println("tttt
33、3、退出nn");42System、out、println("*n");43.System、out、print("請(qǐng)選擇,輸入數(shù)字:");44.45./*46.*顯示二級(jí)菜單,即系統(tǒng)的主菜單,這個(gè)方法里面包含了對(duì)這個(gè)菜單處理的所有流程47.*48.*/49.publicvoidshowMainMenu()50./顯示二級(jí)菜單,即系統(tǒng)的主菜單51.System、out、println("nntttt歡迎使用購物管理系統(tǒng)n");52.System、out、println("*n");53.System、out
34、、println("tttt1、客戶信息管理n");54.System、out、println("tttt2、購物結(jié)算n");55.System、out、println("tttt3、真情回饋n");56.System、out、println("tttt4、注銷n");57.System、out、println("*n");58./用戶選擇服務(wù)項(xiàng)目59.System、out、print("請(qǐng)選擇,輸入數(shù)字:");60.Scannerscanner=newScanner(Sys
35、tem、in);61./設(shè)置標(biāo)志用于控制循環(huán)62.booleanflag=false;63.do64.Strings=scanner、next();65./用戶選擇"客戶信息管理"66.if(s、equals("1")67./顯示客戶信息管理菜單并處理這個(gè)菜單的整個(gè)流程,當(dāng)這個(gè)流程處理完68.showCustMMenu();69.break;70.71./用戶選擇"購物結(jié)算"72.if(s、equals("2")73./定義購物結(jié)算類的對(duì)象,并處理整個(gè)購物結(jié)算的流程74.Paypay=newPay();75.pay
36、、setData(goodsName,goodsPrice,custNo,custBirth,custScore);76.pay、calcPrice();77.break;78.79./用戶選擇"真情回饋"80.if(s、equals("3")81./處理真情回饋的整個(gè)處理流程*82. showSendGMenu();83. break;84. 85. /用戶選擇"注銷"86. if(s、equals("4")87. /顯示一級(jí)菜單,此時(shí)會(huì)返回至StartSMS類中的一級(jí)菜單處理流程88.89. break;90.
37、4.95. /*96.97.98.showLoginMenu();System、out、print("輸入錯(cuò)誤,請(qǐng)重新輸入數(shù)字:");flag=false;while(!flag);*顯示三級(jí)菜單-客戶信息管理,并處理所有客戶信息管理的流程*/100.System、out、println("購物管理系統(tǒng)>客戶信息管理n");101.System、out、println("*n");102.System、out、println("tttt1、顯示所有客戶信息n");103.System、ou
38、t、println("tttt2、添加客戶信息n");104.System、out、println("tttt3、修改客戶信息n");105.System、out、println("tttt4、查詢客戶信息n");106.System、out、println("*n");107.System、out、print("請(qǐng)選擇,輸入數(shù)字或按'n'返回上一級(jí)菜單:");108.Scannerscanner=newScanner(System、in);showCustMMenu()99.p
39、ublicvoid109.true;booleanflag110 .do111 ./創(chuàng)建客戶信息管理對(duì)象,并設(shè)置數(shù)據(jù),這里的數(shù)據(jù)還就是原始的那些數(shù)據(jù)112.CustManagementcustmanagement=newCustManagement();113.setData(goodsName, goodsPrice,114. String115. / 客戶選擇 " 顯示所有客戶信息"116. if (s 、 equals( "1" )117.118. break;custmanagement、custNo, custBirth, custScore)
40、;s = scanner 、 next();custmanagement 、 show();119.120./客戶選擇 " 添加客戶信息"121.if (s 、 equals( "2" )122.custmanagement 、 add();123.break;124.125./客戶選擇 " 修改客戶信息"126.if (s 、 equals( "3" )127.custmanagement 、 modify();128.break;129.130./客戶選擇 " 查詢客戶信息"131.if (
41、s 、 equals( "4" )132.custmanagement 、 search();133.break;134.135./客戶選擇 " 返回上一級(jí)菜單 "136.if (s 、equals( "n" )137.showMainMenu();138.break;139.140.System、out 、 println( "輸入錯(cuò)誤 , 請(qǐng)重新輸入數(shù)字:" );141.flagfalse ;142. while (!flag);143.144./*145.顯示三級(jí)菜單-真情回饋,并處理所有真情回饋的流程146
42、.*/147.149.System、out、println("購物管理系統(tǒng)>真情回饋n");150.System、out、println("*n");151.System、out、println("tttt1、幸運(yùn)大放送n"152.System、out、println("tttt2、幸運(yùn)抽獎(jiǎng)n");153.System、out、println("tttt3、生日問候n");154.System、out、println("*n");155.System、out、print
43、("請(qǐng)選擇,輸入數(shù)字或按'n'返回上一級(jí)菜單:"showSendGMenu()148.publicvoid););ScannernewScanner(System、in);156.scanner*157./創(chuàng)建禮物管理對(duì)象,并設(shè)置數(shù)據(jù),這里的數(shù)據(jù)還就是原始的那些數(shù)據(jù)158.GiftManagementgiftmanagement=newGiftManagement();159. giftmanagement、setData(goodsName,goodsPrice,custNo,custBirth,custScore);160. booleanflag=tr
44、ue;161. do162. Strings=scanner、next();163. /客戶選擇"幸運(yùn)大放送"164. if(s、equals("1")165. giftmanagement、sendGoldenCust();166. break;167. 168. /客戶選擇"幸運(yùn)抽獎(jiǎng)"169. if(s、equals("2")170. giftmanagement、sendLuckyCust();171. break;172. 173. /客戶選擇"生日問候"174. if(s、equals
45、("3")175. giftmanagement、sendBirthCust();176. break;177. 178. /客戶選擇"返回上一級(jí)菜單"179. if(s、equals("n")180. showMainMenu();181. break;182. 183. System、out、println("輸入錯(cuò)誤,請(qǐng)重新輸入數(shù)字:");184. flag=false;185. while(!flag);186. 187. /*=定義該類所擁有的變量=*/188. publicStringgoodsName
46、;/商品的名稱189. publicdoublegoodsPrice;/商品的價(jià)格190. publicintcustNo;/顧客的會(huì)員號(hào)191. publicStringcustBirth;/顧客的生日192. publicintcustScore;/顧客的積分193. 3、6CustManagement類javaviewplaincopy1.packagecn、 itcast;2.3./*importjava、util、Scanner;56*author7*8*/9publicclassCustManagement10/*11*空構(gòu)造方法12*13*/14publicCustManagem
47、ent()1516/*17*設(shè)置顧客信息管理類的數(shù)據(jù)信息18*19*paramas20*paramad21*paramai22*paramas123*paramai124*/25publicvoidsetData(Stringas,doublead,intai,Stringas1,ai1)26goodsName=as;27goodsPrice=ad;28custNo=ai;29custBirth=as1;30custScore=ai1;3132/*33*返回上一級(jí)菜單,即二級(jí)菜單-客戶信息管理菜單34*35*/36publicvoidreturnLastMenu()37System、out、p
48、rint("nn請(qǐng)按'n'返回上一級(jí)菜單:");38Scannerscanner=newScanner(System、in);39booleanflag=true;40do41if(scanner、next()、equals("n")42/返回上一級(jí)菜單,這里新建了一個(gè)菜單對(duì)象,只就是在用戶瞧來其實(shí)還就是同樣的處理流程43/不過對(duì)于程序來說卻又開始了一個(gè)新的二級(jí)菜單處理流程44Menumenu=newMenu();45menu、setData(goodsName,goodsPrice,custNo,custBirth,custScore)
49、;int46menu、showCustMMenu();47else48System、out、print("輸入錯(cuò)誤,請(qǐng)重新'n'返回上一級(jí)菜4950515253單:");while(!flag);flagfalse;/*添加客戶信息*/54555657publicvoidadd()58System、out、println("購物管理系統(tǒng)>客戶信息管理>添加客戶信息5960616263nn"int);ScannerSystem、scannernewScanner(System、in);out、print("請(qǐng)輸入會(huì)員號(hào)(<4位整數(shù)>):");scanner、nextInt();System、out、print("請(qǐng)輸入會(huì)員生日(月/日<用兩位數(shù)表示>):");Stringsscanner、next();64System、out、print("請(qǐng)輸入積分:");65int66intscanner、nextInt();-1;67int0;68do69if(l>=custNo、length)70break;7374 break;7576777879808171/尋找數(shù)組中的第一個(gè)空位置,用來存儲(chǔ)新的顧客信息72if(cus
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 寵物租賃合同內(nèi)容
- 文化創(chuàng)意空間
- 企業(yè)心理援助師招聘協(xié)議
- 城市地下空間維修注漿施工合同
- 藥品庫房安全防護(hù)指南
- 旅游業(yè)財(cái)務(wù)流程規(guī)范樣本
- 企業(yè)宣傳微電影拍攝委托協(xié)議
- 蕭山區(qū)體育賽事招投標(biāo)實(shí)施細(xì)則
- 眼科醫(yī)院護(hù)士聘用合同
- 供應(yīng)鏈管理指導(dǎo)員聘用合同
- 2024年新人教版七年級(jí)上冊(cè)數(shù)學(xué)教學(xué)課件 第三章 代數(shù)式 數(shù)學(xué)活動(dòng)
- 九年級(jí)物理全冊(cè)教案【人教版】
- 《中華民族一家親-同心共筑中國(guó)夢(mèng)》隊(duì)會(huì)課件
- 國(guó)家開放大學(xué)《管理信息系統(tǒng)》大作業(yè)參考答案
- Unit 4 Time to celebrate 大單元教學(xué)設(shè)計(jì) 2024-2025學(xué)年外研版英語七年級(jí)上冊(cè)
- 二十屆三中全會(huì)精神應(yīng)知應(yīng)會(huì)知識(shí)測(cè)試30題(附答案)
- 【A公司企業(yè)文化建設(shè)問題及優(yōu)化建議開題報(bào)告3400字】
- 2.2.1 有理數(shù)的乘法(第一課時(shí))-教案
- 中煤電力有限公司招聘筆試題庫2024
- 輕量化材料在航空航天領(lǐng)域的應(yīng)用
- 《計(jì)算機(jī)視覺-基于OpenCV的圖像處理》全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論