第一篇:Java實現的商場VIP消費管理系統
《Java實現的商場VIP消費管理系統》實驗指導書
一 實驗目的
通過實現商場VIP消費管理系統功能的實際編程了解基于Swing的圖形用戶界面開發和數據庫操作原理,提高Swing和JDBC技術結合的綜合運用能力。
二 實驗原理
本實驗要求一個簡單的商場VIP消費管理系統,系統功能包括商品信息錄入、商品信息查詢、VIP信息錄入、VIP消費記錄查詢、VIP消費購物記錄登記、系統維護(系統用戶、商品和VIP信息等實現管理)和系統幫助。系統功能流程框架圖如下圖所示:
(1)系統登錄:對用戶的帳號和密碼進行合法性驗證,登錄成功則進入系統功能界面。登陸界面如下圖所示:
(2)系統功能界面:上面可采用功能菜單或工具欄(JToolBar)或選項板(JTabbedPane)來實現,下放用表格列出信息,默認時列出所有信息。
(3)商品信息錄入:可錄入商品編號、名稱、價格、折扣等信息,對錄入的信息保存至數據庫表或文件。界面可參考如下圖所示:
(4)商品信息查詢:可根據商品編號或名稱進行查詢。界面可參考如下圖所示:
(5)VIP信息錄入:可對VIP用戶的姓名、年齡、入會時間、性別、工作單位、手機號碼、聯系電話、聯系地址、郵編等信息進行輸入(6)VIP消費記錄查詢:可VIP用戶的消費記錄進行查詢
(7)VIP消費購物記錄登記:可對用戶的購物記錄進行登記,保存至數據庫或文件。(8)系統維護包括對系統用戶、商品和VIP信息等實現管理。
(9)系統幫助:提供系統的幫助信息。
三 實驗環境
運行Windows的PC機,具有JDK1.4以上Java編譯環境和JCreator3.5或Eclipse3.0以上Java編輯環境。
四 實驗內容和步驟
(1)系統需求分析,寫出功能流程圖
(2)項目分析:確定對象并確定對象的屬性和操作,為對象建模,畫出UML類圖(3)若采用數據庫方式實現,則設計的主要數據表包括用戶表、VIP信息表、商品信息表和消費記錄表,數據庫設計的表結構可參考如下如所示:
若采用文件方式實現,則需要設計幾個對應的文件來保存用戶、商品信息或消費記錄。(4)類的設計與實現,類的定義如下所示: 1)系統登錄:LoginFrame.java
2)商品信息錄入:CommodityInputFrame.java 3)商品信息查詢:CommodityQueryFrame.java 4)VIP信息錄入:VipInputFrame.java 5)VIP信息查詢: VipQuery.java
6)VIP 消費購物登記:VipShoppingFrame.java 7)系統維護:SystemMenu.java
8)用戶信息管理:UseManagerFrame.java 9)商品信息管理:CommodityManagerFrame.java 10)VIP信息管理:VIPManagerFrame.java 11)系統幫助:HelpFrame.java
(5)系統測試:整合系統,對系統各模塊進行功能測試
(6)撰寫文檔和實驗報告:包括系統方案書,數據庫設計說明書,系統使用說明書,技術報告和測試報告
五 實驗報告要求
(1)記錄實驗內容中的商場VIP消費管理系統基本功能的詳細過程文檔,包括相應的UML類圖、數據表說明和類的說明(按API方式)。
(2)完成該實現后,可試著考慮加強它的功能,如給VIP用戶增加消費積分功能,給出如何實現這些功能的思路。
第二篇:JAVA酒店管理系統
JAVA酒店管理系統
摘要
該酒店客房管理系統是基于JAVA的Application模式,運用JAVA語言開發技術和Mysql數據庫原理開發的。在該系統中,操作人員可通過房態查看或客房查詢來進行住宿登記,也可通過追加押金使房客繼續入住,可方便有效的對客房信息及住宿信息進行統計或設置,宿費提醒及掛帳退房功能可使酒店損失降低至最低點,操作員管理功能可實時地對操作人員進行有效地管理從而使酒店在客房管理上分工明確。該系統的合理運用能使得酒店提高其客房管理效率并節約管理成本。
該系統遵循軟件工程中的開發規則。本文介紹了酒店客房管理系統的開發過程,詳盡論述了需求分析、系統分析、概要設計、詳細設計、以及測試與調試的整個開發過程,總結了開發過程中的經驗及本系統今后的改進方向。
關鍵詞
客房;JAVA;JDK;SQL
參考文獻
[1]夏昕著.深入淺出Hibernate北京:電子工業出版社,2005
[2] 強鋒科技著.Java開發利器:Hibernate開發及整合應用大全 北京:清華大學出版社 出版日期: 2006-2-1
[3] :鄒竹彪.JSP寶典北京:電子工業出版社, 2006
[4](美)Hessert著.STRUTS 2003北京:機械工業出版社,2006
[5] :朱敏 朱晴婷 李媛媛著.JSP Web應用教程北京:清華大學出版社,北京交通大學出版社, 2004
[6] Matt Raible 著.Spring Live北京:電子工業出版社, 2006
[7] Rod Johnson / Juergen Hoeller(英)著.Expert One-on-One J2EE Development without EJB北京:機械工業出版社原出版社:Wrox, 2003
[8] Bruce Tate / Justin Gehtland著.Spring北京:清華大學出版社, 2006
第三篇:基于Java的高速公路收費管理系統的設計與實現
基于Java的高速公路收費管理系統的設計與實現
【摘 要】本文闡述了基于Struts2+Spring+Hibernate開源框架實現高速公路收費管理子系統的開發流程。本文首先對Struts2、Hibernate、Spring等框架進行論述,其次描述了系統的需求分析與總體架構設計,包括系統的功能需求、性能需求、功能結構設計和體系結構設計等;然后詳細介紹了系統的各個模塊的具體實現,主要模塊有登陸模塊、數據錄入模塊、維護模塊等;最后,對系統進行的測試并對項目的主要工作和存在的不足做了論述。
【關鍵詞】Struts2;Spring;Hibernate
0 引言
基于B/S結構的Web程序的開發,有非常大的靈活性,允許用戶遠程訪問系統資源的同時能對數據平臺和管理訪問權限進行有效的保護。B/S結構軟件的所有的客戶端只是瀏覽器,也只需要管理服務器,更為快捷、方便、高效。與C/S體系結構相比,B/S體系結構不僅具有C/S體系結構的全部優點,而且具有客戶端零維護、可擴展性好、安全性好、資源重用性好等新的優點。系統需求分析
計算機收費系統式收費站的主要組成部分[3]。每個收費站由網絡服務器、管理計算機構成的上端管理系統和若干個車道控制計算機構成 的車道控制系統組成局域網。高速公路計算機收費系統的目標是:按照每輛車的車型和實際行駛里程收費;提高收費的工作效率,盡量降低由于收費過程引起的交通延誤,提高高速公路的通行能力;實現高速公路的現代化營運管理為智能運輸系統的實現留有一定的接口。基于系統的以上目標,收費系統應該具有以下功能:
1)實行計算機管理,盡量減少人為干預,保證車型判別的正確性。
2)系統能自動檢查設備運行狀態,能準確并及時地給出故障信息和故障排除信息。
3)系統應該是全天候、實時的,如收費車道應該在任何時間有車輛通過時能正常使用。
4)具有一定的報警功能,如遇搶劫時的遠程報警,與車輛沖關或進出口收費員判刑不一致時報警。
根據以上對系統需求的描述和功能的分析,對于收費管理系統,它主要處理的數據是收費數據,主要包括 4個模塊:數據登錄模塊,錄入模塊,維護模塊。技術平臺
2.1 MVC模式和Struts框架
MVC某種語言所特有的設計思想,而是所有面向對象程序設計語言都應該遵守的規范[4]。MVC思想將應用分為三個基本部分:模型、視圖、控制器。這三個部分將以最少的耦合協同工作,從而提高應用的可擴展性及可維護性。
Struts2是Struts的下一代產品,是一個優雅的,可擴展的Java EE Web框架[5]。它是Struts和WebWork的技術基礎上進行合并的全新的Struts2框架。但是,Struts2沒有繼承Struts1的血統,而是繼承WebWork的血統。Struts框架作為MVC模式的典型實現,對Model、View和Controller都提供了對應的實現組件。
2.2 Spring框架
Spring框架是一個分層架構,由7個模塊組成,各個模塊之間是相互的。Spring其他模塊構建在核心容器之上,其中,核心容器定義了創建、配置和管理bean的方式。系統實現
在系統需求分析和設計的基礎上,在系統的開發過程中,將SSH架構應用到實際的項目開發中,并且利用第三方報表開發軟件開發報表部分,極大地簡化了系統的開發,提高了效率。在整個系統的實現過程中,本文主要實現了收費管理系統模塊。
3.1 數據登錄模塊
用戶登錄模塊的設計中完全實現了MVC模式,實現了視圖與數據處理的分離。登錄頁面、修改密碼頁面以及登錄成功頁面構成視圖層;用戶登錄及修改密碼的請求應答控制由控制器實現;具體的用戶信息合法性由Struts2提供的客戶端輸入校驗完成,保證輸入信息的合法性。圖1是用戶登錄的簡要圖。
3.2 錄入模塊
數據錄入模塊主要就是報表文件的開發,設計報表文件,首先要打開設計器,連接到數據源,然后開始進行報表文件的設計。本模塊中報表文件,僅用于數據錄入,因此可以創建的報表應該選擇填報或參數表單。然后在快逸報表中的表格中填寫選項,設置選項的屬性要根據需求來設置,包括設置數據的格式,編輯的風格、是否可寫,能否為空等。
3.3 維護模塊
該模塊主要是負責維護人員名單的相關信息。由于本系統是內部人員使用的系統,用戶較少,不需要通過注冊來添加人員,而是通過該模塊來添加刪除人員或者修改其權限。
主要涉及到的信息包括:站號、用戶ID、用戶名、用戶密碼、班次編號、錄入權限、監視權限、統計權限、檢索權限、稽查權限、維護權限、票據管理權限、卡管理權限等,如表1所示。其中各種管理權限來自于用戶信息中purview字段,每個比特位代表一種權限。結論
系統采用SSH(Struts2+Spring+Hibernate)輕量級框架,完成了高速公路收費管理系統的開發,對三個框架的使用和集成有了深刻的認識。本文詳細介紹了三個框架的背景、相關技術以及內部實現原理,包括MVC的開發模式、ORM技術以及IOC和AOP,這些對于系統的開發有非常重要的幫助。項目基于MVC的思想進行開發,Struts2框架負責了表示層和控制層;采用Hibernate框架以面向對象的方式來訪問數據庫,極大地簡化了數據庫操作;Spring框架將業務層又細分為業務邏輯層和數據持久層,使得接口和實現進一步的分離,使開發者從繁雜的事務管理中解脫出來,而專注于業務邏輯的處理。
【參考文獻】
[1]彭艷玲,胡松濤.高速公路收費現狀與存在問題研究[J].山西科技,2008(04):10-12.doi:10.3969/j.issn.1004-6429.2008.04.005.[2]吳煒,丁月華,文貴華.ETC車道控制系統的設計與實現[J].計算機工程,2001(05):162-163.doi:10.3969/j.issn.1000-3428.2001.05.065.[3]郭敏.高速公路收費系統[M].北京:人民交通出版社,2002,7:15.[4]李剛.較輕量級JavaEE企業應用實踐[M].北京:電子工業出版社,2004,11:158.[5][美]巴西亞,等,編.Java企業級持久化技術指南[M].葉斌,譯.北京:科學出版社,2010,6:137.[6]白廣元.Java Web整合開發完全自學手冊[S].北京:機械工業出版社,2009,8:144.[責任編輯:丁艷]
第四篇:java管理系統項目總結
java管理系統項目總結
篇一:java管理系統項目總結
期末將至,怕沒有時間再去寫這篇不成器的文章,所以早早寫完,早早留給時間去復習。隨著期末的臨近,java課程也結束了,距離之前寫過的“java-象棋設計心得”有差不多過了2個月了。我們的java課程主要做全班選出來的兩個項目,一個是象棋,一個就是人事管理系統。做完都要通過答辯才能評分,以此兩次來作為整個java學期的成績。快走題了,就在這里止步回頭!
這一次的主要通過 問題->理解->修改->添加 的步驟講解,跟java-象棋設計心得的講解思路基本上差不多。
----問題篇
一開始著手這個java-人事管理系統項目的時候就感覺到這比之前的java-象棋項目難了,知識明顯不夠,需要邊看書本源代碼邊查看API文檔和通過網上來解惑。就這樣,一周的時間就過去了,當然一周里還有很多課程需要跟上,所以并不是把一周的所有時間都花在項目設計上。
這里介紹一下我項目中遇到的一些“坎”: 1.布局管理器
GridBagLayout的使用和GridBagConstraints類的使用
類和DefaultMutableTreeNode類和其他類的使用
面板和JSplitePane面板和其他面板
4.設計的界面的還原
5.數據庫如何實現數據的保存
可見,問題多多,解決起來又會出現其它的問題,但我知道每一個項目必定存在多個類和面板的設計,設計的過程也是一個不斷自我矛盾和自我更正的過程,只有這樣設計出來的產品才符合我們的要求。其中首先要說問題的是界面的還原是比較耗費時間的,但這也是任何軟件設計的第一步,所以必須理解透!其次就是數據庫和SQL語言的學習,因為數據庫是新知識,還沒有可以通過課程來學習的,這就意味著只能通過自己學習新知識,這又是一個新問題的開始,但我知道必須要克服。最后就是動作的實現問題,例如:點擊了這個節點,相應的功能是如何實現,是通過什么來實現的,這些問題也必須理解,因為是答辯問的最多問題。好了,問題篇就到這里了。
----理解篇
理解的基本條件就是問題的產生,上篇說的就是問題篇,那么這里說的就是理解。或許這里有一些東西會跟java-象棋設計心得有些相同,所以會提醒一下就過了,理解是理解軟件制作的必要過程,重要性可想而知了,在java-象棋設計心得里,有些理解的方法這里就不在重復了。那么這里要講的東西不多,主要講的是功能的實現過程,書本中人事管理系統的功能有,如下:
1.基本信息管理--添加人員信息、修改人員信息、刪除人員信息、查詢人員信息、部門管理;
2.人員調動管理--人員調動、調動歷史查詢;
3.人員考核管理--人員考核、考核歷史查詢;
4.勞資管理--勞資分配管理、勞資歷史查詢
因為基本上以上的所有功能的實現基本相同,所以這里通過其中一個功能的實現來粗略理解其它功能的實現吧,說的不好請諒解!
那么就說“人員調動管理--人員調動”這個功能的實現,從點擊葉子節點人員調用后,調用了人員調用的實現類,在右面板顯示相應的人員調用面板,由圖可知面板里的放了“人員調動”的JLabel、數據顯示的表單Jtable、一些文本框TextField和Jabel,還有下拉菜單JComboBox,以及三個按鈕。主面板里使用默認的BorderLayout布局,可以看下圖來知道該功能布局的實現:圖片的大小和真實的有差別,只作為理解而用。
接下來說如何通過點擊面板上的調入新部門的按鈕來實現與數據庫的連接,當正確操作后,按調入新部門按鈕后,調用與數據庫連接的實現類的相應方法,來對數據庫存放數據的相應表進行修改和給存放歷史數據的表進行調動歷史添加。這樣就完成以一個調用人員功能的實現了,類似的功能也可以參照次步驟來理解。
除了理解好這些功能的實現外,我還應該要是自己來實現一個功能,作為真正理解好一個功能實現的動手機會,這個會在添加功能里詳解。好了,理解篇就到這里了!
----修改篇
修改、添加也是在理解的基礎上才能對代碼進行改進和添加,這里是修改篇,下一篇就是理解篇。可以說書本上的每一項目的代碼都存在不足和缺陷,可以運行但運行起來其中總是存在不少的缺陷和矛盾,所以就需要修改,那么在實際開發過程中,修改和添加就相當于軟件的后期維護了,這是一個永遠也完成不了的功能,要做到軟件的完美,是不可能的!只能不斷的修改,添加,再修改,再添加。。
在書本的人事管理系統代碼,只代表本人的觀點下,進行了一些修改,這里就不一一說明了。
----添加篇
因為人事管理系統的龐大,其功能也可以有相當多,之前就說過,功能的實現都是差不多的,而且考慮到作業提交和答辯的時間,所以只添加了一個功能 “加班信息管理--添加人員加班信息、人員加班信息查詢”,請看下圖:
總結:雖然java課程隨著人員管理系統的完成而結束了,但java的學習還會繼續,這是一個厲害的技能,不是說課程教完就結束了,老師只能帶領我們進門,但java提升是靠自己的努力的,有不少人說java作為一個謀生的技能很不錯,我想我會在邊學習java之余邊體會java的魅力。
篇二:java管理系統項目總結
這個學生管理系統相對來說比較簡單,主要就是復習下java怎么連接數據庫,然后你怎么來實現這個功能,我簡單的說下思路吧。
首先你要構思好這個界面,他包括增刪查改這些基本功能,然后你去分析這些功能都能怎么實現,對于查找,應該是比較簡單的,這里連接數據庫就不詳述了,導jar包,設置三個變量,然后傳固定的參數進去,查詢你應該單獨寫一個類,在這個類里面你要做的就是傳入sql語句,利用executeQuery返回的結果集存放在一個向量里面,然后返回給java界面里面JTabel的參數,同樣增加一條記錄,你可以自定義java界面,從鍵盤讀入數據,然后將數據返回給你自定義的add類里面,在這個類里,主要處理sql增加語句,所以語句將被使用,這里還是要注意下防止sql注入。修改操作和增加操作類似,這里因為主鍵的特殊性,所以你需要把他設為不可修改,當然你也可以選擇不。對于刪除操作,因為不需要特別的界面為他服務,所以你大可以在Main函數里面進行操作,除非你覺得有必要整理下長的嚇人的代碼,其實刪除操作也就是獲取你指定的主鍵,然后在sql里面執行操作。大概也就是這些了,有些細節地方要注意下,很多參數里面的下標要千萬小心,不然很痛苦的,連接sql文件后記得關閉,彈出界面自己要加些異常處理,每次操作完后,要記得及時更新界面。另外對于MVC模式,你可以在寫完后,想想,其實很多代碼都有其復用性,你可以分幾層來操作啊,業務層就專門提交具體操作,也就是contral啊,然后增刪查改界面可以全放在view里面,model就專門處理和數據庫的銜接,反正mvc模式你會覺得代碼非常清晰,后續你還可以增加分頁操作啊,分頁操作其實很簡單,上一次sql里面測試了下,對于百萬級的數據,分頁操作跑了三到五秒,或許我的本本真該換了。想說的也就是這么多了,另外鑒于昨天晚上發生的一些事情,后續不打算再更新任何東西了,也許這兩者沒任何關聯,于我而言,結局早已注定。
第五篇:java書店管理系統源代碼
Java 源代碼
public class loaduser { public String user;public String password;boolean b1;loaduser(String s1,String s2){
user=s1;
password=s2;} void load(){
System.out.println(“ 書店管理銷售系統”);
System.out.println(“**************************************”);System.out.println(“
1、登錄系統”);System.out.println(“
2、退出系統”);
System.out.println(“**************************************”);System.out.println(“請選擇:”);
int m;Scanner s=new Scanner(System.in);m=s.nextInt();
if(m==1){
for(int i=0;i<3;i++){
System.out.println(“請輸入賬戶名和密碼”);
String s3,s4;
Scanner ss=new Scanner(System.in);
s3=s.next();
s4=s.next();
if(user.equals(s3)&&password.equals(s4))b1=true;
else b1=false;
if(i==0&&b1==false)System.out.println(“用戶名或密碼輸入錯誤一次,還有兩次機會!”);
if(i==1&&b1==false)System.out.println(“用戶名或密碼輸入錯誤兩次,還有一次機會!”);
if(i==2&&b1==false){System.out.println(“三次輸入錯誤,退出系統!”);System.exit(0);}
if(b1==true){
System.out.println(“登錄成功!”);
break;} } }
if(m==2)System.exit(0);}
package manger;import java.util.ArrayList;import java.util.Scanner;import manger.vip;import System.menu;public class vipmanger { static ArrayList
vipgroup.add(new vip(“001”,“王芳”,100));
vipgroup.add(new vip(“002”,“李娜”,60));
vipgroup.add(new vip(“003”,“楊麗”,50));
vipgroup.add(new vip(“004”,“孫潔”,150));
vipgroup.add(new vip(“005”,“肖青”,300));} static void addd(){ System.out.println(“請一次輸入編號,姓名,積分”);
String S1,S2;
int A;
Scanner s=new Scanner(System.in);
S1=s.next();
S2=s.next();
A=s.nextInt();
vip v1=new vip(S1,S2,A);vipgroup.add(v1);}
static void delete(){ System.out.println(“請輸入要求刪除的會員編號:”);String s;Scanner me=new Scanner(System.in);s=me.next();
boolean b1=true;
for(int i=0;i if(s.equals(vipgroup.get(i).ID)){vipgroup.remove(i);b1=false;} if(b1)System.out.println(“查無此會員!”);} static void correct(){ System.out.println(“請輸入要修改信息的會員編號:”);String sss;Scanner s=new Scanner(System.in);sss=s.next(); boolean b1=true; for(int i=0;i if(sss.equals(vipgroup.get(i).ID)){ b1=false; System.out.println(“請輸入新的姓名和積分:”); String ss1;Scanner s7=new Scanner(System.in);ss1=s7.next();vipgroup.get(i).name=ss1;int b; Scanner s8=new Scanner(System.in); b=s8.nextInt(); vipgroup.get(i).score=b;} if(b1==true)System.out.println(“查無此會員!”);} static void select(){ System.out.println(“請輸入要查詢的會員編號:”);String s;Scanner me=new Scanner(System.in);s=me.next(); boolean b1=true; for(int i=0;i if (s.equals(vipgroup.get(i).ID)){System.out.println(vipgroup.get(i).ID+“ ”+vipgroup.get(i).name+“ ”+vipgroup.get(i).score);b1=false;} if(b1==true)System.out.println(“查無此會員!”);} static void show(){ for(int i=0;i System.out.println(vipgroup.get(i).ID+“ ”+vipgroup.get(i).name+“ ”+vipgroup.get(i).score);} public static void exchange(String s1,int a,int b){ boolean b1=true; for(int i=0;i if(s1.equals(vipgroup.get(i).ID)) {if(vipgroup.get(i).score<(a*b))System.out.println(“積分不足,不能兌換!”); else vipgroup.get(i).score-=a*b; b1=false; } if(b1==true)System.out.println(“查無此會員,不能兌換!”);} public static void shop(String s1,int a,int b){ boolean b1=true; for(int i=0;i if(b1==true)System.out.println(“查無此會員,不能購買!”);} public static boolean start(){ menu m=new menu();m.vip(); int x;Scanner me= new Scanner(System.in);x=me.nextInt(); switch(x){ case 1:show();break; case 2:delete();break; case 3:addd();break; case 4:correct();break; case 5:select();break; case 6:return false;} return true;} } public class book { public String number; public String name; public int price; public int jf;book(String s1,String s2,int a,int b){ number=s1; name=s2; price=a; jf=b;} } package manger;import java.util.ArrayList;import java.util.Scanner;import System.menu;public class bookmanger { static ArrayList for(i=0;i return a;} public static String name(String s1){ String a = “無此書”;for(int i=0;i return a;} public static boolean start(){ menu m=new menu();m.bookmanger();int x;Scanner me= new Scanner(System.in);x=me.nextInt();switch(x){ case 1:show();break;case 2:delete();break;case 3:addd();break;case 4:return false;} return true;} } public class gift { public String number;public String caption;public int costjf;gift(String s1,String s2,int a){ number=s1;caption=s2;costjf=a;} } package manger;import java.util.ArrayList;import java.util.Scanner;import manger.vipmanger;import manger.vip;import System.menu;import manger.gift;public class giftmanger { static ArrayList giftgroup.add(new gift(“001”,“鼠標墊”,100)); giftgroup.add(new gift(“002”,“書夾子”,50)); giftgroup.add(new gift(“003”,“中性筆”,30));} static void show(){ for(int i=0;i System.out.println(“請輸入要刪除的禮品編號:”); String s; Scanner ss=new Scanner(System.in); s=ss.next(); boolean b1=true; for(int i=0;i if(s.equals(giftgroup.get(i).number)) {giftgroup.remove(i); b1=false; } if(b1)System.out.println(“查無此禮品!”);} static void addd(){ System.out.println(“請輸入要添加的禮品編號,名稱,所需積分:”); String s1,s2; int a; Scanner me=new Scanner(System.in); s1=me.next(); s2=me.next(); a=me.nextInt(); gift g1=new gift(s1,s2,a); giftgroup.add(g1);} static void exchange(){ String s1,s2,c=“無此禮品”; int a,b=0; giftmanger.show(); Scanner me=new Scanner(System.in); System.out.println(“請輸入您的會員編號:”); s1=me.next(); System.out.println(“請輸入您要兌換的禮品編號:”); s2=me.next(); System.out.println(“請輸入您要兌換的禮品數量:”); a=me.nextInt(); boolean b1=true; for(int i=0;i {b=giftgroup.get(i).costjf; c=giftgroup.get(i).caption; b1=false; } if(b1==true)System.out.println(“查無此禮品!”); else vipmanger.exchange(s1, a, b); System.out.println(“兌換結果:”); System.out.println(“禮品名稱”+“ ”+“禮品積分”+“ ”+“禮品數量”+“ ”+“消耗積分”); System.out.println(c+“ ”+b+“ ”+a+“ ”+(a*b));} public static boolean start(){ menu m=new menu(); m.gift(); int x; Scanner me= new Scanner(System.in); x=me.nextInt(); switch(x){ case 1:show();break; case 2:delete();break; case 3:addd();break; case 4:exchange();break; case 5:return false; } return true;} } public class shoping { static void shop(){ bookmanger.show();String s1,s2,s3; int a,b=0;Scanner me=new Scanner(System.in);System.out.println(“請輸入您的會員編號:”);s1=me.next();System.out.println(“請輸入書籍編號:”);s2=me.next();System.out.println(“請輸入購買數量:”);a=me.nextInt();b=bookmanger.price(s2);s3=bookmanger.name(s2);System.out.println(“書名”+“ ”+“單價”+“ ”+“數量”+“ ”+“總價”);System.out.println(s3+“ ”+b+“ ”+a+“ ”+(a*b));vipmanger.shop(s1, a, b);} public static boolean start(){ menu m=new menu(); m.shopping(); int x; Scanner me= new Scanner(System.in); x=me.nextInt(); switch(x){ case 1:shop();break; case 2:return false; } return true;} } public class menu { void mainmenu(){ System.out.println(“ 書店管理系統”); System.out.println(“****************************”); System.out.println(“書店管理系統”); System.out.println(“ 1、會員管理”); System.out.println(“ 2、書籍管理”); System.out.println(“ 3、購物結算”); System.out.println(“ 4、積分兌換禮品”); System.out.println(“ 5、注銷”); System.out.println(“****************************”); } public void vip(){ System.out.println(“書店管理系統>會員管理:”); System.out.println(“****************************”); System.out.println(“ 1、顯示會員信息”); System.out.println(“ 2、刪除會員”); System.out.println(“ 3、添加會員”); System.out.println(“ 4、修改會員信息”); System.out.println(“ 5、查詢會員”); System.out.println(“ 6、返回上層菜單”); System.out.println(“****************************”); } public void bookmanger(){ System.out.println(“書店管理系統>書籍管理:”); System.out.println(“****************************”); System.out.println(“ 1、書籍信息查詢”); System.out.println(“ 2、刪除書籍”); System.out.println(“ 3、添加書籍”); System.out.println(“ 4、返回上層菜單”); System.out.println(“****************************”); } public void shopping(){ System.out.println(“書店管理系統>購物結算:”); System.out.println(“****************************”); System.out.println(“ 1、購物”); System.out.println(“ 2、返回上層菜單”); System.out.println(“****************************”); } public void gift(){ System.out.println(“書店管理系統>禮品兌換:”); System.out.println(“****************************”); 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 main(String[] args){ loaduser u1=new loaduser(“manger”,“416426”); u1.load();menu m1=new menu(); vipmanger vip=new vipmanger();bookmanger book=new bookmanger();giftmanger gi=new giftmanger(); while(true){ m1.mainmenu(); int x; Scanner me=new Scanner(System.in); x=me.nextInt(); switch(x){ case 1:while(vipmanger.start());break; case 2:while(bookmanger.start());break; case 3:while(shoping.start());break; case 4:while(giftmanger.start());break; case 5:u1.load(); } } } }