




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 java課程設(shè)計(jì)專 業(yè) 數(shù)字媒體技術(shù) 班 級(jí) 1 2 1 4 0 1 題 目 簡單銀行存取款系統(tǒng) 項(xiàng)目負(fù)責(zé)人 劉 明 星 指 導(dǎo) 教 師 xxxxxxxx 2013年12月19日2013年12月25日 121401班Java課程設(shè)計(jì)報(bào)告書目錄1、摘 要.2 1.1摘 要.2 1.2團(tuán)隊(duì)人員信息.22、題目概況.3 2.1題目簡介.3 2.2題目特色.32.3任務(wù)分配.43、功能介紹.54、核心算法.9 4.1初始界面與主界面.9 4.2進(jìn)入與退出.10 4.3用戶登錄.11 4.4存 款.12 4.5取 款.13 4.6查 詢.14 4.7鍵盤輸入與時(shí)間顯示.145、程序清單.156、心 得
2、.23第1頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書1、摘 要第一次進(jìn)行java課程設(shè)計(jì),要與自己的團(tuán)隊(duì)自行設(shè)計(jì)一個(gè)系統(tǒng),十分激動(dòng)。根據(jù)我們目前所掌握的知識(shí),GUI了解不是太多,所以系統(tǒng)不采用單獨(dú)的界面顯示。這雖然會(huì)顯得系統(tǒng)過于簡單,但是我們會(huì)在功能上挽回這方面的紕漏。在經(jīng)過多方渠道了解后,發(fā)現(xiàn),java初學(xué)者的課程設(shè)計(jì)大多是“計(jì)算器”、“聊天”、“貪吃蛇”、“24點(diǎn)游戲”等多種小程序。做銀行系統(tǒng)的相對(duì)來說不是太多,為此我們準(zhǔn)備做一個(gè)簡單的銀行存取款系統(tǒng),既簡單,又有挑戰(zhàn)性的題目。下面就跟隨我一起進(jìn)入 我們的銀行管理系統(tǒng)吧!團(tuán)隊(duì)人員信息: 信息姓名學(xué) 號(hào)任務(wù)分擔(dān)聯(lián)系方式劉明星201
3、24926程序代碼編寫報(bào)告書的撰寫徐敬涵20124944界面布局資料搜集時(shí) 間第2頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書2、題目概況2.1、題目簡介用純粹的java語言實(shí)現(xiàn)簡單銀行存取款的功能,運(yùn)用學(xué)到的知識(shí)實(shí)現(xiàn)預(yù)期要求。在功能界面上,用清晰的操作提示與順序,讓用戶用著順心,看著舒心。同時(shí)菜單的多項(xiàng)功能選擇達(dá)到用戶的需求。在每項(xiàng)操作后都會(huì)有時(shí)間提示,以提供用戶賬戶的安全信息。2.2、題目特色我們的程序打破了以往這方面的繁瑣操作,用簡單、清晰而安全的界面功能實(shí)現(xiàn)它本身的作用。讓用戶清晰明了的知道系統(tǒng)的功能,快速掌握操作要領(lǐng),不會(huì)像以往的程序那樣,讓用戶繁瑣的操作,還不能了解操作要
4、領(lǐng)。所以我們用簡單、清晰而安全的界面功能來滿足用戶的需要,實(shí)現(xiàn)系統(tǒng)的實(shí)際應(yīng)用性。第3頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書2.3、任務(wù)分配由于團(tuán)隊(duì)人數(shù)較少,任務(wù)分擔(dān)會(huì)有些重。但是分工很明確,而且很有效率。明確項(xiàng)目要實(shí)現(xiàn)的功能后,就迅速開展編寫工作,不會(huì)出現(xiàn)人多思路亂,意見不一致,分配不合理與成員空閑的情況。其中,劉明星,主要負(fù)責(zé)程序的編寫,功能的實(shí)現(xiàn),以及撰寫報(bào)告書,明確的將程序的功能寫清。徐敬涵,主要負(fù)責(zé)界面的布局,搜集資料補(bǔ)充系統(tǒng)缺陷,并檢查報(bào)告書的不足之處。團(tuán)隊(duì)人員信息: 信息姓名學(xué) 號(hào)任務(wù)分擔(dān)聯(lián)系方式劉明星20124926程序代碼編寫報(bào)告書的撰寫徐敬涵20124944界
5、面布局資料搜集時(shí) 間第4頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書3、功能介紹1、 初始界面,清晰明了的登陸界面。給人以舒適的感覺。2、 a)、鍵盤輸入賬號(hào)回車時(shí),程序會(huì)自動(dòng)退出系統(tǒng)。輸入密碼。 輸入錯(cuò)誤出現(xiàn)提示第5頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書b)、輸入正確,出現(xiàn)選擇對(duì)話框,并跳出菜單。美觀的布局,清晰的選項(xiàng),給人以舒適之感。第6頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書3、 功能菜單:a)、鍵盤輸入1回車,會(huì)提示輸入您的存款金額,鍵盤輸入存款金額回車,界面會(huì)自動(dòng)跳到主菜單,方便用戶繼續(xù)操作。 b)、鍵盤輸入2回車,會(huì)提示輸入您的取款金額,鍵盤
6、輸入取款金額回車,界面會(huì)自動(dòng)跳到主菜單,方便用戶繼續(xù)操作。第7頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書c)、鍵盤輸入3回車,界面會(huì)顯示本年度年利率5%,本年度目前您所得利息為:"xxx" 元;本年度年利率5%,本年度目前您的本息為: "xxx" 元; 2013年12月21日1:33:56重復(fù)操作后,金額顯示均為本年度的本息。4、 鍵盤輸入4回車,程序會(huì)自動(dòng)跳出系統(tǒng)。第8頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書4核心算法4.1初始界面與主界面初始界面與主界面用輸出文字的方式顯示,并用switch語句控制選擇。用class KB這
7、個(gè)類控制鍵盤輸入。/初始選擇頁面 System.out.println("*"); System.out.println("*請(qǐng)輸入賬號(hào):*"); System.out.println("*");System.out.println("請(qǐng)選擇:"); /菜單頁面 System.out.println("請(qǐng)選擇要執(zhí)行的操作:");System.out.println("*");System.out.println("1. 存款");System.out.pr
8、intln("2. 取款");System.out.println("3. 查詢");System.out.println("4. 退出");System.out.println("*n");System.out.println("請(qǐng)選擇:");/菜單界面的switch語句switch(c)case 1:this.saveMoney(leftmoney);/存款break;case 2:this.getMoney(leftmoney);/取款break;第9頁 共 23頁 121401班Java
9、課程設(shè)計(jì)報(bào)告書case 3:this.Interest(leftmoney);/余額break;case 4:flag=false;System.out.println("n*歡迎下次光臨!*");/退出System.exit(0);break;default:System.out.println("沒有該選項(xiàng),請(qǐng)重新選擇!");break;4.2進(jìn)入與退出進(jìn)入就是創(chuàng)建對(duì)象,調(diào)用run()方法。case 1:while(true)System.out.println("歡迎光臨!n");ba.run();break;退出就是調(diào)用Sys
10、tem.exit(0);方法強(qiáng)行退出。第10頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書4.3用戶登錄/顧客登錄class Custpublic void ID()new KB();int ct = KB.nextInt();switch(ct)case 1111:this.Cust1();break;case 2222:this.Cust2();break;case 3333:this.Cust3();break;default:System.out.println("沒有該用戶,請(qǐng)重新選擇!");Cust c = new Cust();c.ID();第11頁
11、共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書4.4存 款定義saveMoney()方法,用while、if語句實(shí)現(xiàn)存款功能,用for語句防止重復(fù)操作后,利息累加的問題。for(int i=0;i<10;i+)while (true)System.out.println("請(qǐng)輸入您存款的金額:");new KB();double m1=KB.nextInt();if(m1>0)this.leftmoney+=m1;/操作正確,存入資金break;elseSystem.out.println("您存款的金額不正確,請(qǐng)重新輸入!n");thi
12、s.Calendar();/打印時(shí)間,調(diào)用Calendar()break;num+;第12頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書4.5取 款定義getMoney()方法,用while、if語句實(shí)現(xiàn)取款功能,用for語句防止重復(fù)操作后,利息累加的問題。for(int i=0;i<10;i+)while (true)System.out.println("請(qǐng)輸入您取款的金額:");new KB();int m1=KB.nextInt();if(m1>0)if(m1<this.leftmoney)this.leftmoney-=m1;/操作正確,
13、扣除取出的資金elseSystem.out.println("對(duì)不起,您賬戶余額不足!請(qǐng)查詢后在進(jìn)行取款!n");break;elseSystem.out.println("您取款的金額不正確,請(qǐng)重新輸入!n");this.Calendar();/打印時(shí)間,調(diào)用Calendar()break;num+;第13頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書4.6查 詢用if語句算利息與本息并控制,防止重復(fù)操作引起利息累加的問題。if(num=1)InterestMoney = savemoney*0.05;/按5%利率算取利息this.leftmo
14、ney += InterestMoney;/本息4.7鍵盤輸入與時(shí)間顯示1、鍵盤輸入,定義class KB 類,控制鍵盤輸入。 /鍵盤輸入class KBstatic Scanner s = new Scanner(System.in);static int nextInt()return s.nextInt();2、調(diào)用calendar方法顯示時(shí)間 public void Calendar() /顯示并計(jì)算存儲(chǔ)時(shí)間Calendar c1 = Calendar.getInstance();/下面打印當(dāng)前時(shí)間 System.out.println(c1.get(java.util.Calenda
15、r.YEAR)+"年"+(c1.get(java.util.Calendar.MONTH)+1)+"月"+c1.get(java.util.Calendar.DAY_OF_MONTH)+"日"+c1.get(java.util.Calendar.HOUR)+":"+c1.get(java.util.Calendar.MINUTE)+":"+c1.get(java.util.Calendar.SECOND); 第14頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書5、 程序清單import
16、java.awt.BorderLayout;import java.awt.Button;import java.awt.Frame;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import ;import java.util.Calendar;import java.util.Scanner;import java.awt.event.WindowAdapter;import ;import ;import ;import ja
17、va.awt.*;import ;public class BankSystem public static void main(String args)/2013/12/24 星期二 18:58:49修改/顧客初始化System.out.println("*"); System.out.println("*請(qǐng)輸入賬號(hào):*");System.out.println("*");BankAccount ba = new BankAccount();Cust c = new Cust();c.ID();/GUIFrame frame = n
18、ew Frame("歡迎光臨數(shù)媒銀行!");Button b1 = new Button("銀行業(yè)務(wù)");Button b2 = new Button("歡迎光臨數(shù)媒銀行!");Button b3 = new Button("退出"); 第15頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書/增加事件處理器 b1.addActionListener(new BankAccount();/與ActionEvent e關(guān)聯(lián)b3.addActionListener(new Exit();/與ActionEvent
19、e關(guān)聯(lián) /Java中的組件若想添加事件處理器,都會(huì)使用形如addXxxListener的方法來添加。/與窗口相關(guān)/關(guān)閉窗口frame.addWindowListener(new MyWindowListener();frame.add(b1,BorderLayout.NORTH);frame.add(b2,BorderLayout.CENTER);frame.add(b3,BorderLayout.SOUTH);/frame.pack();frame.setSize(200,200);/設(shè)定窗口大小frame.setBounds(200, 200, 200, 200);/設(shè)定窗口大小、位置fr
20、ame.setVisible(true);/運(yùn)行/2013/12/24 星期二 19:06:38修改/顧客登錄class Custpublic void ID()new KB();int ct = KB.nextInt();switch(ct)case 1111:this.Cust1();break;case 2222:this.Cust2();break;case 3333:this.Cust3();break;第16頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書default:System.out.println("沒有該用戶,請(qǐng)重新選擇!");Cust c =
21、 new Cust();c.ID(); public void Cust1()System.out.println("請(qǐng)輸入密碼:");int num=0;new KB(); int key=KB.nextInt();if(key = 123456)System.out.println("歡迎您star:");elseSystem.out.println("對(duì)不起,您輸入有誤,請(qǐng)重新輸入:");this.Cust1();public void Cust2()System.out.println("請(qǐng)輸入密碼:");
22、new KB(); int key=KB.nextInt();if(key = 654321)System.out.println("歡迎您小涵:");elseSystem.out.println("對(duì)不起,您輸入的有誤,請(qǐng)重新輸入:");this.Cust2();public void Cust3()System.out.println("請(qǐng)輸入密碼:");new KB(); int key=KB.nextInt();第17頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書if(key = 456789)System.out.p
23、rintln("歡迎您數(shù)媒:");elseSystem.out.println("對(duì)不起,您輸入的有誤,請(qǐng)重新輸入:");this.Cust3();class Exit implements ActionListenerpublic void actionPerformed(ActionEvent e)System.out.println("*窗口已關(guān)閉*");System.out.println("n*歡迎下次光臨!*");System.exit(0);/銀行系統(tǒng)class BankAccount impleme
24、nts ActionListenerdouble leftmoney;/賬戶余額double savemoney;/基礎(chǔ)資金,算取利息的固定資金/num,控制防止重復(fù)操作后,總余額累加一年中的利息int num=0;/初始化賬戶余額,假定有5000.0元public BankAccount()savemoney = 5000.0;leftmoney = 5000.0;/計(jì)算存儲(chǔ)時(shí)間public void Calendar() /顯示并計(jì)算存儲(chǔ)時(shí)間Calendar c1 = Calendar.getInstance();/下面打印當(dāng)前時(shí)間第18頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告
25、書System.out.println(c1.get(java.util.Calendar.YEAR)+"年"+(c1.get(java.util.Calendar.MONTH)+1)+"月"+c1.get(java.util.Calendar.DAY_OF_MONTH)+"日"+c1.get(java.util.Calendar.HOUR)+":"+c1.get(java.util.Calendar.MINUTE)+":"+c1.get(java.util.Calendar.SECOND);/
26、余額public double getLeftMoney()return leftmoney;/存款public void saveMoney(double m)/for與num控制防止重復(fù)操作后,總余額累加一年中的利息for(int i=0;i<10;i+)while (true)System.out.println("請(qǐng)輸入您存款的金額:");new KB();double m1=KB.nextInt();if(m1>0)this.leftmoney+=m1;/操作正確,存入資金break;elseSystem.out.println("您存款的金
27、額不正確,請(qǐng)重新輸入!n");this.Calendar();/打印時(shí)間,調(diào)用Calendar()break;num+;第19頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書/取款public void getMoney(double leftmoney)/for與num控制防止重復(fù)操作后,總余額累加一年中的利息for(int i=0;i<10;i+)while (true)System.out.println("請(qǐng)輸入您取款的金額:");new KB();int m1=KB.nextInt();if(m1>0)if(m1<this.lef
28、tmoney)this.leftmoney-=m1;/操作正確,扣除取出的資金elseSystem.out.println("對(duì)不起,您賬戶余額不足!請(qǐng)查詢后在進(jìn)行取款!n");break;elseSystem.out.println("您取款的金額不正確,請(qǐng)重新輸入!n");this.Calendar();/打印時(shí)間,調(diào)用Calendar()break;num+;/利息與查詢public void Interest(double InterestMoney)if(num=1)InterestMoney = savemoney*0.05;/按5%利率算取
29、利息this.leftmoney += InterestMoney;/本息第20頁 共 23 頁 121401班Java課程設(shè)計(jì)報(bào)告書/本年度利息與本息,與上面for與num控制防止重復(fù)操作后,總余額累加一年中的利息相對(duì)應(yīng)InterestMoney = savemoney*0.05;/重復(fù)操作后不會(huì)累算利息System.out.println("本年度年利率5%,本年度目前您所得利息為:"+InterestMoney+"元");System.out.println("本年度年利率5%,本年度目前您的本息為:"+this.leftmon
30、ey+"元");this.Calendar();/打印時(shí)間,調(diào)用Calendar()/銀行系統(tǒng)主頁面run()public void actionPerformed(ActionEvent e)/new H();boolean flag=true;/菜單頁面while(flag)System.out.println("n");System.out.println("請(qǐng)選擇要執(zhí)行的操作:");System.out.println("*");System.out.println("1. 存款");System.out.println("2. 取款");System.out.println("3. 查詢");System.out.println("4. 退出");System.out.println("*n");System.out.println("請(qǐng)選擇:");new KB();int c=KB.nextInt();switch(c)case 1:this.saveMoney(leftmoney);/存款break;case 2:this.getMoney
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 排水溝穿越道路施工方案
- 水污染治理工程施工方案
- 濮陽拉森鋼板樁施工方案
- 遼寧民宿文旅施工方案
- 幼兒園獲獎(jiǎng)公開課:小班數(shù)學(xué)《草裙舞》教學(xué)設(shè)計(jì)
- 燈箱廣告改造施工方案
- 正安建筑打樁施工方案
- 數(shù)控加工工藝與編程技術(shù)基礎(chǔ) 教案 模塊三 項(xiàng)目二 綜合件的加工(3-4)
- 水稻種植中多發(fā)病蟲害的發(fā)生特點(diǎn)及針對(duì)性綠色防控技術(shù)具體分析
- 【專精特新】折疊屏手機(jī)行業(yè)市場份額證明材料(智研咨詢發(fā)布)
- GB/T 775.1-2006絕緣子試驗(yàn)方法第1部分:一般試驗(yàn)方法
- GB/T 39965-2021節(jié)能量前評(píng)估計(jì)算方法
- 最新《工會(huì)基礎(chǔ)知識(shí)》試題庫及答案1000題【完美打印版】
- 化學(xué)核心素養(yǎng)的課堂教學(xué)-基于核心素養(yǎng)的高中化學(xué)教學(xué) 課件
- 體育競賽的組織與編排
- 動(dòng)靜脈內(nèi)瘺的圍手術(shù)期護(hù)理-課件
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
- 初中數(shù)學(xué)人教八年級(jí)下冊(cè)第十九章一次函數(shù)-一次函數(shù)的圖象與性質(zhì)
- 模電數(shù)電面試知識(shí)
- 化工原理-第三版-陳敏恒-課件-華東理工內(nèi)部1
評(píng)論
0/150
提交評(píng)論