ATM柜員機(jī)模擬程序 課程設(shè)計報告
《ATM柜員機(jī)模擬程序 課程設(shè)計報告》由會員分享,可在線閱讀,更多相關(guān)《ATM柜員機(jī)模擬程序 課程設(shè)計報告(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《Java程序設(shè)計》 課程設(shè)計報告 題目 ATM柜員機(jī)模擬程序 姓名 學(xué)號 性別 所在班級 指導(dǎo)教師
2、 二〇一二年十二月二十九日 目錄 一 前言 1 1.1 課程設(shè)計題目 1 1.2 課程設(shè)計完成地點 1 1.3 系統(tǒng)概述 1 1.3.1課程設(shè)計介紹 1 1.3.2 課程設(shè)計目的 1 1.3.3 課程設(shè)計內(nèi)容 2 1.4 相關(guān)技術(shù) 2 二 需求分析 3 2.1 功能需求 3 2.2 界面需求 3 2.2.1窗體的設(shè)計 4 2.2.2窗體的主要結(jié)構(gòu)的設(shè)計 4 三 功能設(shè)計 5 3.1 系統(tǒng)總體結(jié)構(gòu) 5 3.2 系統(tǒng)模塊 5 3.3 主要相關(guān)類 6 四 詳細(xì)設(shè)計 8 4.1登陸頁面模塊設(shè)計 8 4.2選擇
3、服務(wù)模塊設(shè)計 9 4.3取款模塊設(shè)計 10 4.4修改密碼模塊設(shè)計 11 4.5退卡模塊設(shè)計 12 4.6異常處理情況說明 12 4.7系統(tǒng)實現(xiàn)與測試 12 五 總結(jié) 14 5.1遇到的問題及解決辦法 14 5.2心得體會 14 六 感謝 15 16 一 前言 1.1 課程設(shè)計題目 ATM柜員機(jī)模擬程序 1.2 課程設(shè)計完成地點 文理樓A504 1.3 系統(tǒng)概述 1.3.1課程設(shè)計介紹 本次JAVA游戲開發(fā)課程設(shè)計在文理樓機(jī)房進(jìn)行,為期一周。這次課程設(shè)計的主要目的是結(jié)合面向?qū)ο蟪绦蛟O(shè)計課程,培養(yǎng)我們面向?qū)ο筌浖_發(fā)的思維,初步了解軟件開發(fā)的
4、一般流程,提高用JAVA編程的實際動手能力并增強(qiáng)大家對面向?qū)ο蟮牧私狻_@次課程設(shè)計的主要內(nèi)容是獨立用JAVA語言開發(fā)一個簡單的應(yīng)用程序。我所設(shè)計的是ATM柜員機(jī)。 隨著市場經(jīng)濟(jì)的繁榮發(fā)展,人們物質(zhì)生活得到了極大的提高,手中剩余資金日益增多,受傳統(tǒng)觀念的影響,絕大多數(shù)人喜歡把暫時不用的資金存入銀行,而在需要現(xiàn)金時去銀行提現(xiàn),這就導(dǎo)致了銀行業(yè)務(wù)的急劇增加。最然銀行網(wǎng)點越來越多,銀行工作人員效率也隨著信息化有明顯增長,但依舊不能及時滿足廣大儲戶的需求。而一味的增加營業(yè)網(wǎng)點,從理論上講雖有緩解此問題的功效,但是建立一個網(wǎng)點需要付出昂貴的資金,還要不斷注入人力資源。這時候,就迫切需要一種自動化的,易操
5、作的,低成本的設(shè)備來解決這一問題,于是ATM柜員機(jī)就這樣應(yīng)運(yùn)而生。 我設(shè)計的ATM柜員機(jī)主要是由各個Windows窗口組成,它是由登錄頁面、選擇服務(wù)、取款、查詢余額、修改密碼和退卡等功能。它的各種按鈕的事件和功能可以簡單的模擬ATM柜員機(jī)的要求。 1.3.2 課程設(shè)計目的 1. 要求學(xué)生自主選擇課題并自行完成操作內(nèi)容,并能達(dá)到舉一反三的目的,完成一個項目解決一類問題。培養(yǎng)獨立的Java語言與算法設(shè)計方法,具備初步的獨立分析和設(shè)計能力; 2.學(xué)習(xí)軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計、程序編碼、測試等基本方法和技能;培養(yǎng)學(xué)生設(shè)計分析、設(shè)計方法。設(shè)計操作和測試、設(shè)計過程的觀察理解和歸納能力。
6、 3.掌握J(rèn)AVA程序設(shè)計基本的基本技能。面向?qū)ο蟮母拍詈头椒?,了解多線程、安全和網(wǎng)絡(luò)等編程技術(shù)。培養(yǎng)學(xué)生分析問題和解決問題的能力。訓(xùn)練綜合運(yùn)用所學(xué)的理論知識和方法進(jìn)行獨立分析和解決問題的能力。 4.要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計和解答類似問題。訓(xùn)練用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),培養(yǎng)軟件工作者所應(yīng)具備的科學(xué)的工作方法和作風(fēng)。 1.3.3 課程設(shè)計內(nèi)容 設(shè)計一個ATM柜員機(jī)模擬程序,使用圖形用戶界面。當(dāng)輸入給定的卡號和密碼(初始卡號為000000密碼為123456)時,系統(tǒng)能登錄ATM柜員機(jī)系統(tǒng),用戶需按照以下規(guī)則進(jìn)行: 1.查詢余額:初
7、始余額為10000元 2.ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。 3.ATM存款:不能出現(xiàn)負(fù)存款。 4.修改密碼:新密碼長度不小于6位,不允許出現(xiàn)6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。 1.4 相關(guān)技術(shù) JAVA語言的特點:JAVA是一種簡易的、完全面向?qū)ο?、安全可靠、分布式的、多線程的、高性能的、主要面向Internet且具有最好的跨平臺可移植性的動態(tài)程序設(shè)計開發(fā)工具。 1.java語言簡單易學(xué)。java語言的語法與C語言和C++語言很接近,使得多數(shù)程序員很容易學(xué)習(xí)和使用java。
8、另一方面,java丟棄了C++中很少使用的,很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強(qiáng)制類型轉(zhuǎn)換。特別地。java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。 2.跨平臺。是指Java能運(yùn)行于不同的平臺。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實現(xiàn)不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與 機(jī)器無關(guān),Java虛擬機(jī)(Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺的接口的。 3.安全性。Java的編程類似C++,學(xué)習(xí)過
9、C++的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序運(yùn)行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。Java對程序提供了安全管理器,防止程序的非法訪問。 4.面向?qū)ο?。Java吸取了C++面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,利用類的優(yōu)點,實現(xiàn)了程序的簡潔性和便于維護(hù)性。類的封裝性、繼承性等有關(guān)對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計和應(yīng)用上。Java提供了眾多的一般對象的類,通過繼承即可使用父類的方法。在Java中,類的繼承關(guān)系是單一的非多重的,一個子類只有一個父類,子類的父
10、類又有一個父類。Java提供的Object類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類為Object類,Object類功能強(qiáng)大,經(jīng)常會使用到它及其它派生的子類。 5.分布式。Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。 6.動態(tài)。java程序的基本組成單元就是類,有些類是自己編寫的,有些是從類庫中引入的,而類又是運(yùn)行時動態(tài)裝載的,這就使得Java可以在分部環(huán)境中動態(tài)的維護(hù)程序及分類,而不像C++那樣,沒檔期類庫升級以后,如果想讓程序具有新類庫提供的功能,就需要修改程序,重新
11、編譯。 7.多線程。Java是支持多線程的語言。多線程是一種應(yīng)用程序設(shè)計方法。線程是一大進(jìn)程里分出來的,小的、獨立的進(jìn)程,使得在一個程序里可同時執(zhí)行多個小任務(wù)。多線程帶來的好處是具有更好的交互性能和實時控制性能。但采用傳統(tǒng)的程序設(shè)計語言(如:C/C++)實現(xiàn)多線程程序并非易事。Java實現(xiàn)了多線程技術(shù),提供了簡便的實現(xiàn)多線程的方法,并擁有一組高復(fù)雜性的同步機(jī)制。 8.可以移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。java系統(tǒng)本身也具有很強(qiáng)的可移植性,java編譯器是用java實現(xiàn)的,java運(yùn)行環(huán)境是用ANSIC實現(xiàn)的。 二 需求分析
12、2.1 功能需求 本ATM柜員機(jī)的主要功能需求如下所述: 要求使用圖形用戶界面。當(dāng)輸入給定的卡號和密碼(初始卡號為000000和密碼為123456)時,系統(tǒng)能登錄ATM柜員機(jī)系統(tǒng),用戶可以按照以下規(guī)則進(jìn)行: 1.查詢余額:初始余額為10000元 2.ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。 3.ATM存款:不能出現(xiàn)負(fù)存款。 4.修改密碼:只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。 2.2 界面需求 以Windows窗口形式顯示,標(biāo)題欄為ATM柜員機(jī)名稱,右上角有最小化按鈕、最大化按鈕、關(guān)閉按鈕,不同的窗
13、口中有不同的按鈕和選擇菜單。 2.2.1窗體的設(shè)計 窗體整個框架使用Frame類構(gòu)造,F(xiàn)rame有自己的外邊框和自己的標(biāo)題,創(chuàng)建Frame時可以指定其窗口標(biāo)題,我創(chuàng)建的窗口標(biāo)題是各個不同功能的模塊的名字,比如說查詢余額,還有取款等。 每個Frame在其右上角都有三個控制圖標(biāo),分別代表將窗口最小化、窗口最大化和關(guān)閉的操作,其中最小化和最大化操作Frame可自動完成,而關(guān)閉窗口操作實現(xiàn)需要書寫有關(guān)的代碼,在我的程序中我采用的是對WINDOWS_CLOSING事件做出響應(yīng),調(diào)用dispose()方法關(guān)閉窗口。Frame也可以引發(fā)WindowsEvent類代表的窗口事件。 2.2.2窗體的主要
14、結(jié)構(gòu)的設(shè)計 我所設(shè)計的窗口的主要結(jié)構(gòu)的特點就是每個窗口都對應(yīng)著一個特定的功能。比如說報各種各樣的錯,還有各種查詢余額、取款、選擇服務(wù)等,所以它們都是由各種按鈕和文本框,標(biāo)簽組成的,而聯(lián)系各個窗體成為一個整體的就是各個按鈕的監(jiān)聽事件。所以整個設(shè)計就趨向簡單化了。 為了定義各個按鈕所對應(yīng)的命令和操作,首先需要將各個按鈕注冊給實現(xiàn)了動作事件的監(jiān)聽接口ActionListener的監(jiān)聽者,然后為監(jiān)聽者定義actionPerformed(ActionEvent e)方法,在這個方法中調(diào)用e.getSource()或e.getActionCommand()來判斷用戶點擊的菜單子項,并完成這個菜單子項定
15、義的操作(如下圖所示) 請輸入你的卡號: 請輸入你的密碼: 123456 ****** 圖:界面簡易圖 三 功能設(shè)計 3.1 系統(tǒng)總體結(jié)構(gòu) 開 始 登陸界面 選擇服務(wù) 取 款 查 詢 余 額 修 改 密 碼 退 卡 結(jié) 束 退出界面 存款 用戶登錄(輸入賬號和密碼) 報錯界面 N Y 圖:系統(tǒng)總體結(jié)構(gòu)流程圖 3.2 系統(tǒng)模塊 我所設(shè)計的ATM柜員機(jī)主要是由登錄頁面模塊還由選擇服務(wù)模塊組成,其中選擇服務(wù)模塊又由取款模塊、查詢余額
16、模塊、修改密碼模塊、退卡模塊組成。其功能結(jié)構(gòu)圖如下所示: 登陸界面模塊 選擇服務(wù)模塊 退 卡 模 塊 修 改密碼模塊 取 款 模 塊 存 款 模 塊 查 詢 余 額 模 塊 圖: ATM功能模塊示意圖 各部分模塊功能如下: 1.登陸界面模塊:用戶登陸時所需的界面窗口,能夠輸入用戶賬號(000000)和密碼(123456)。 2.選擇服務(wù)模塊:列出所有服務(wù)項供用戶選擇,分別有存款、取款、查詢余額、修改密碼和退卡。 3.存款模塊:用戶可在文本框中輸入想要存的金額。 4
17、.取款模塊:用戶在文本框中輸入他想取的數(shù)額,(必須是100的倍數(shù),而且每一次最多只能取5000塊)取款時候也不能超過卡里的余額,否則將會報錯。 5.查詢余額模塊:能夠在用戶選擇此功能是顯示所剩余額。 6.修改密碼模塊:要求可滿足用戶修改密碼這一需求,用戶必須輸入正確的舊密碼且輸入兩次新密碼一致,方可修改。 7.退卡模塊:退出界面。 3.3 主要相關(guān)類 1. Java.awt包中的Container類可以直接或間接派生出兩個常用容器:框架(Frame類)和面板(Panel類);通過Frame()創(chuàng)建一個標(biāo)準(zhǔn)窗口;當(dāng)Frame窗口被創(chuàng)建以后,需要調(diào)用setSize()方法來設(shè)置窗口大小,
18、并調(diào)用setVisible()來顯示窗口。 2.面板不是一個單獨的窗口,它只包含在窗口中的一個區(qū)域;最簡單的創(chuàng)建面板的方式就是通過面板的構(gòu)造函數(shù)Panel()來進(jìn)行;必須將面板添加到窗口中。 3.設(shè)置布局管理器,控制組件的大小和位置;調(diào)用setLayout(null);在設(shè)置空布局管理器后,必須對所有組件調(diào)用setLocation(),setSize()或setBrounds(),將他們定位容器中。 4.Button 類有一個addActionListner(ActionListener)方法;AddActionListner 接口定義了一個方法actionPerformed,用來接收一
19、個ActionEvent。ActionEvent 類的getActionCommand()方法返回與動作相關(guān)聯(lián)的命令名稱。 5.事件類型。許多事件類在java.awt.event 包中,也有一些事件類在API 的其他地方。對于每類事件,都有一個接口,這個接口必須由想接收這個事件的類的對象實現(xiàn)。這個接口還要求定義一個或多個方法。當(dāng)發(fā)生特定的事件時,就會調(diào)用這些方法。 6.文本區(qū)(TextArea)。addTexListener 指定的監(jiān)聽者將以和文本域相同的方式接收到關(guān)于擊鍵的通知。你可以給文本區(qū)增加一般的組件監(jiān)聽者,然而,由于文本是多行的,按下 Enter 鍵將導(dǎo)致把另一個字符送入緩沖。
20、 7.Applet 的方法。播放聲音:musicClip.play(); 8.代碼中的Accout類、MainFrame類、Load類、Take類、Input類、Setpew類和Display類都繼承了JAVA類和JFrame.(詳見下圖所示) 類名 功能 方法 Class Accout 創(chuàng)建客戶初始化客戶信息功能以及保護(hù)用戶信息功能 成員變量account、count、password和方法構(gòu)造方法Account() Class MainFrame 構(gòu)造主界面,提供業(yè)務(wù)選擇 構(gòu)造方法MainFrame()和初始化主界面方法initComponents()以
21、及成員變量checked、cunkuan、qiute、qukuan、reset Class Load 實現(xiàn)登錄功能和登陸界面 Jpassword、accountnum、committ和構(gòu)造方法load()初始化方法initConents Class Take 實現(xiàn)取款功能 Back、clcar、commit、quite和構(gòu)造方法Take()初始化的initComponents() Class input 實現(xiàn)存款功能 Clear、commint、str以及構(gòu)造函數(shù)Inputhe()和初始化方法initComponents() Class Disp
22、lay 顯示當(dāng)前余額 Back、qiut、qukuan和構(gòu)造方法Display初始化方法initComponents() Class Setpw 修改密碼功能 成員變量commit、commitpw、jpwcommit、quit等和構(gòu)造方法Setpw()和初始化方法initComponents() 四 詳細(xì)設(shè)計 4.1登陸頁面模塊設(shè)計 與ATM柜員機(jī)打交道比較多的,也是大家對安全比較關(guān)心的問題:密碼。所以第一個界面就是要輸入密碼和卡號才能繼續(xù)服務(wù)。 我定義了文本框累的對象tf1,tf2。抓藥是用于輸入單行的文本;文本區(qū)調(diào)用public String getTex
23、t()方法,獲取用戶想要的字符串。用來判斷輸入的密碼和卡號是否正確,如果不正確的話,則彈出密碼或卡號錯誤的警告框,并用dispose()關(guān)掉窗口。 其方法是: 引入所需要的包 創(chuàng)建一個公共類ATM3繼承JFrame實現(xiàn)ActionListener接口 創(chuàng)建三個box類對象 創(chuàng)建兩個文本框?qū)ο? 創(chuàng)建一個按鈕對象1 創(chuàng)建一個按鈕對象2 創(chuàng)建該類的構(gòu)造函數(shù)接收一個字符串 調(diào)用本類的s 文本框?qū)ο?內(nèi)容為6 文本框?qū)ο?內(nèi)容為6 把盒子類名貼出來賦值給box對象 新建一個標(biāo)簽組件("請輸入你的卡號")添加到容器上 把獲得的類名添加到容器上 新建一個標(biāo)簽("請輸入你的密碼"
24、添加到容器上 把貼出來的類名賦值給box2 把文本框添加到box2 把文本框w添加到box2上 在容器上添加一個橫向的box組件 把box1添加到basebox上 把按鈕對象1("確定")加入到容器上 把按鈕對象2("退卡")加入到容器上 按鈕對象2注冊呢監(jiān)聽器 添加布局管理器滾動條 添加容器窗口監(jiān)聽 創(chuàng)建一個關(guān)閉窗口函數(shù) 調(diào)用System.exit(0); 添加setBounds組件坐標(biāo)是120,125,長寬是200,175 設(shè)置顯示圖形界面可見 創(chuàng)建事件處理函數(shù) 初始化 選擇各種服務(wù) 如果發(fā)生的事件等于按鈕1 輸入的兩個卡號和密碼的變量 則調(diào)用文本框
25、1和文本框2 判斷兩次輸入的卡號和密碼是否正確 如果輸入的賬號和密碼正確 清除屏幕 打印出選擇fuwu其他輸出出現(xiàn) 報輸入密碼或卡號不正確 4.2選擇服務(wù)模塊設(shè)計 在選擇服務(wù)模塊中,有各種ATM的服務(wù)功能,只要用戶在該界面中選擇按鈕,它就會彈出各個相應(yīng)的界面。每一個按鈕都有監(jiān)聽器,在選擇了按鈕后,java.awt.event中的ActionEvent類創(chuàng)建一個事件對象,并將它傳遞給方法public void actionPerformed(ActionEvent e)中的參數(shù)e,監(jiān)視器就會知道所發(fā)生的事件,對此事件進(jìn)行處理。 其方法是: 創(chuàng)建一個公共類ATM 引入所需要的
26、bao創(chuàng)建一個Selection類繼承了Frame實現(xiàn)了Actionlistener接口 創(chuàng)建5個按鈕對象 創(chuàng)建6個panel對象 添加各種服務(wù)功能 按鈕1設(shè)為"存款") 添加到panel1上 按鈕2設(shè)為"取款") 添加到panel2上 按鈕三定義為"查詢余額"); 添加到panel3上 按鈕4定義為退出 添加到panel4上 按鈕5定義為"修改密碼") 添加到panel5上 把所有panel添加到本容器上 添加關(guān)閉窗口的成員函數(shù) 按鈕1到按鈕全部注冊監(jiān)聽 設(shè)置邊界坐標(biāo)為150,150,長寬為200,200 顯示所有組件 創(chuàng)建一個事件處理函數(shù)如果點擊按鈕一
27、 調(diào)用清屏函數(shù)顯示取款頁面 如果點擊按鈕三清屏顯示查詢余額頁面 如果點擊按鈕4 則顯示退出頁面 如果點擊按鈕5則顯示修改密碼頁面 4.3取款模塊設(shè)計 在取款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個文本框和一個按鈕還有標(biāo)簽組成的。用戶在文本框中輸入他想取的數(shù)額,但是必須是100的倍數(shù),而且每一次最多只能取5000塊。當(dāng)然了取款的時候也不能超過卡里的余額,再就是卡里的余額不可以為負(fù),否則就會彈出報錯的窗口。 其方法是: 引入所需要的包 創(chuàng)建一個類名為GetBalance繼承了Frame實現(xiàn)了Actionlisten接口 創(chuàng)建三個box對象 一個按鈕對象 一個文本框?qū)ο?/p>
28、 一個Account對象 創(chuàng)建一個構(gòu)造函數(shù) 創(chuàng)建一個面板 標(biāo)簽為請輸入你想取錢的數(shù)目 創(chuàng)建一個文本框 把文本框和按鈕添加到panel上pannel添加到本容器上 按鈕1注冊呢監(jiān)聽 創(chuàng)建窗口關(guān)閉函數(shù) 調(diào)用顯示函數(shù) 創(chuàng)建一個事件處理函數(shù) 用if語句判斷如果觸發(fā)按鈕一 賬戶錢小于0 清屏 發(fā)出錯誤 其他如果 取錢的數(shù)額不大于余額 取錢數(shù)為100的倍數(shù)或不大于5000 清屏發(fā)出消息 充值余額 不顯示組件 返回選擇服務(wù)窗口 清屏 發(fā)出消息 引入所需要的包創(chuàng)建一個公共類名為修改密碼繼承了Frame實現(xiàn)了接口ActionListener 引入所需要的包創(chuàng)建一個公
29、共名為查詢的類繼承了frame實現(xiàn)了接口Actionlistener 4.4修改密碼模塊設(shè)計 在修改密碼模塊中,首先你必須要輸入你的舊密碼是否正確,否則就會報錯。再一個就是要兩次輸入你的新密碼,且兩次藥匹配,否則也會報錯,然后再重新回到修改密碼的界面。 其方法是: 創(chuàng)建一個名為 Account的類 定義一個私有的字符串用來表示信用卡號 創(chuàng)建一個私有的字符串用來表示客戶姓名 創(chuàng)建一個私有的字符串用來表示客戶密碼 創(chuàng)建一個私有的字符串用來表示卡里金額 創(chuàng)建一個構(gòu)造函數(shù)用來接收卡號姓名密碼和金額 創(chuàng)建一個取得卡號的成員方法 創(chuàng)建一個用來取得密碼的成員函數(shù) 創(chuàng)建一個用來取得姓名
30、的成員函數(shù) 創(chuàng)建一個用來取得密碼的成員函數(shù) 創(chuàng)建一個用來取得余額的成員函數(shù) 創(chuàng)建一個得到剩余的錢的數(shù)目的成員函數(shù) 創(chuàng)建一個用來重置密碼成員函數(shù) 4.5退卡模塊設(shè)計 退卡模塊相對其他模塊來說較為簡單,只需在選擇服務(wù)模塊選擇退卡就可以了。 其方法是: 如果是按鈕4,則退出。 4.6異常處理情況說明 1.打開、保存文件時的異常處理 需要處理的異常:IOException 2.數(shù)據(jù)庫訪問時的異常處理 需要處理的異常:SQLException 3.加載類時的異常處理 需要處理的異常:ClassNotFindException,當(dāng)應(yīng)用程序試圖使用Class類中的forName
31、方法通過字符串名加載類時,但是沒有找到具有指定名稱的類的定義。 4.加載URL時的異常 需要處理的異常:MalformedURLException,拋出這一異常指示出現(xiàn)了錯誤的 URL?;蛘咴谝?guī)范字符串中找不到任何合法協(xié)議,或者無法分析字符串。 4.7系統(tǒng)實現(xiàn)與測試 1.打開DOS,編譯運(yùn)行程序后,將會看到如下的界面,如圖1所示。如果輸入的密碼或卡號不正確的話就會報右下圖的錯誤。 圖1 主界面—登陸頁面 2.選擇服務(wù)界面效果 當(dāng)輸入的密碼和卡號正確,單擊確定后就會進(jìn)入到選擇服務(wù)的界面,如圖2所示。然后就可以選擇所需要的服務(wù)了。 圖2 選擇服務(wù)界面 3.取款界面
32、,如圖3所示。 圖3 取款界面 4.當(dāng)輸入的錢數(shù)不是100的倍數(shù)或每一次大于5000時就會報圖4的錯誤。 圖4 輸入錯誤1 5.當(dāng)取款時如果超過卡里的余額的話就會報圖5的錯誤。 圖5 輸入錯誤2 6.查詢余額界面,如圖6所示。 圖6 查詢余額界面 經(jīng)過測試,所有的功能基本上都實現(xiàn)了,而且運(yùn)行正常。 五 總結(jié) 5.1遇到的問題及解決辦法 在此次課程設(shè)計中,我遇到了一些問題,如:對于面向?qū)ο蟮姆椒私獠粔蛲笍?,運(yùn)用到實際的軟件開發(fā)中存在著困難;對于Java語言,只學(xué)習(xí)到了一些最基本的知識,這導(dǎo)致編寫程序時經(jīng)常出現(xiàn)一些語法錯誤,而且要在短時間內(nèi)用Java語
33、言來設(shè)計一個具體的系統(tǒng)是一個較大的挑戰(zhàn);還有對于正規(guī)開發(fā)一個系統(tǒng)的流程不熟悉,適應(yīng)起來比較慢,編寫各個模塊相對應(yīng)的操作時,自己感覺難以動手,這表明所學(xué)的知識不能靈活運(yùn)用到實際中。 對于以上的問題,自己有清楚的認(rèn)識,解決辦法是需要大量閱讀相關(guān)的書籍,對于書上以及網(wǎng)站上下載的資料中的Java實例必須有清楚的理解,還有就是多跟精通此方面的老師和同學(xué)交流,取其精華。對于實際動手能力與系統(tǒng)開發(fā)的流程的適應(yīng),必須多進(jìn)行實際的練習(xí)與操作,才能有大的進(jìn)步。 5.2心得體會 在這次的學(xué)年度課程設(shè)計中,我主要運(yùn)用了Java語言的界面設(shè)計、異常處理、Awt控件、Swing控件,輸入輸出流等,綜合運(yùn)用了Java
34、語言。我深刻感受到了面向?qū)ο笳Z言中類庫的強(qiáng)大功能,掌握了運(yùn)用Java中的類實現(xiàn)某些基本功能,并學(xué)會了自己查詢使用類的方法,為以后的面向?qū)ο笳Z言的自學(xué)奠定了基礎(chǔ)。 通過一周的課程設(shè)計我真的學(xué)到了很多的東西,當(dāng)然這也和老師同學(xué)的幫助是離不開的。 這次的課程設(shè)計中,我查閱了很多資料,很好的鍛煉了自己查閱資料的能力和快速吸收新知識的能力。同時也加深了與同學(xué)的緊密交流。本次主要是運(yùn)用JAVA語言來編寫簡單應(yīng)用程序,當(dāng)然還可以用其他的技術(shù)來輔助。在這個簡單應(yīng)用程序當(dāng)中,我除了運(yùn)用Java外還使用了Swing控件。輸入輸出流等技術(shù)。由于以前學(xué)的不是很扎實,而且還有些知識我們都是沒有學(xué)過的,這就要求我們?nèi)?/p>
35、查相關(guān)的書籍,還有就是和同學(xué)之間的交流。正因為這樣,才鍛煉了我的自學(xué)的能力,還有就是加深了我對各個知識點的認(rèn)識,并且提高了我對專業(yè)的學(xué)習(xí)的興趣,為我以后的學(xué)習(xí)打下了基礎(chǔ)。此外,我還感受到了面向?qū)ο笳Z言的類庫的強(qiáng)大的功能,掌握了運(yùn)用JAVA中的類實現(xiàn)某些基本功能,并學(xué)會了自己查詢使用類的方法,也就是要會用API文檔,為以后更好的學(xué)習(xí)面向?qū)ο笳Z言奠定了基礎(chǔ)。 通過將近一周的努力,這次課程設(shè)計終于結(jié)束了,在這個過程當(dāng)中,我學(xué)到了很多的知識,同時也感謝我的同學(xué)的幫助和指導(dǎo)。在以后的學(xué)習(xí)當(dāng)中,我會更加努力的學(xué)習(xí)好專業(yè)知識,并將所學(xué)的知識用于實踐當(dāng)中去,以便牢固掌握知識 六 感謝 為期一周的實訓(xùn)即將結(jié)束,我收獲頗多。感謝老師對我們Java課程及實驗的悉心指導(dǎo),正是因為老師在實驗課上的指導(dǎo),讓我能夠把書本上的知識化成自己的知識,并運(yùn)用在編程過程中。感謝同學(xué)的熱情幫助,讓我能夠順利的解決程序設(shè)計中所遇到的困難。這次課程設(shè)計不僅讓我在知識技能上有了很大的進(jìn)步,還讓我在資料整理和閱讀上的質(zhì)量有所提高,更讓我體會到我們不能獨立存在,團(tuán)隊的力量是巨大的。 在此我要再次感謝老師的悉心教導(dǎo)和同學(xué)們的熱心幫助,如果沒有你們只憑我自己的力量是無法順利完成這項任務(wù)的,可見知識和團(tuán)隊的同等重要性。謝謝你們!
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案