ATM柜員機模擬實現(xiàn)_第1頁
ATM柜員機模擬實現(xiàn)_第2頁
ATM柜員機模擬實現(xiàn)_第3頁
ATM柜員機模擬實現(xiàn)_第4頁
ATM柜員機模擬實現(xiàn)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 ATM柜員機模擬實現(xiàn)ATM柜員機模擬實現(xiàn) 摘要計算機科學技術(shù)的發(fā)展不僅極大地促進了整個科學的發(fā)展,而且明顯加快了經(jīng)濟信息化和社會信息化的進程。金融業(yè)ATM取款機的誕生不僅是世界金融行業(yè)中的一大進步,更是其發(fā)展歷史性的轉(zhuǎn)折點。目前國內(nèi)的銀行大力發(fā)展銀行自動取款機(ATM),以提高工作效率和降低成本。全文共分為緒論、課題要求及分析、 系統(tǒng)需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)與測試、課程設計總結(jié)六個部分,利用JAVA語言強大功能,并具有面向?qū)ο箝_發(fā)等的特點,聯(lián)系實際ATM應用界面,以win8操作系統(tǒng)后臺開發(fā)出了一套自動取款機系統(tǒng)。在此論文中ATM柜員機模擬系統(tǒng)主要是由各個Windows窗口組成,它具有登錄

2、頁面、選擇服務、存取款、查詢余額、修改密碼和退卡等功能,它的各種按鈕的事件和功能能夠?qū)崿F(xiàn)模擬ATM柜員機的基本要求。完成整個程序設計之后,經(jīng)過測試表明該ATM柜員機模擬系統(tǒng)運行穩(wěn)定且各項功能都能正確運行,達到預期的要求。 關(guān)鍵詞:ATM柜員機;存取款;查詢;JAVA語言SIMULATION OF ATM TELLER MACHINES TO ACHIEVEABSTRACT The development of computer science and technology not only greatly enhance the development

3、of science, but also significantly speeds up the information of the economy and society. The birth of the financial industry ATM machine is not only a great progress of world financial industry, is a turning point in the deve

4、lopment history of. At present the domestic bank developing bank automatic teller machine(ATM), and to improve the work efficiency and reduce cost. The full text is divided into introduction, the requirements of the project and analysis, system requi

5、rements analysis, system design, system implementation and testing, curriculum design is summarized in six parts, the use of JAVA language and powerful function, and has the characteristic of object-oriented development, contact the actual&

6、#160;ATM application interface, based on win8operating system backstage developed an automatic teller machine system. In this paper the ATM teller machine simulation system is mainly composed of various Windows window, it has the login

7、 page, select a service, withdrawals,balance inquiries, modify passwords and other functions button back card, itsevents and functions can simulate the ATM machine to the basic requirements. After completing the design of the whole pro

8、cedure, after testing showed that the ATM teller machine simulation system is stable in operation and the variousfunctions are correct operation, to achieve the desired requirements.Key words: ATM machine;  Deposit;  Query;  JAVA

9、language目 錄1 緒論.1 1.1 課題背景.1 1.2 課題目的.12 課題要求及分析.2 2.1 題目及要求.2 2.2 操作環(huán)境.2 2.3 開發(fā)工具.33 系統(tǒng)需求分析.33.1 功能需求分析.33.2 其他需求分析.34 系統(tǒng)設計.44.1 總體設計.44.2 界面設計.54.3 功能模塊設計.6 4.3.1 登陸頁面模塊設計.6 4.3.2 選擇服務模塊設計.7 4.3.3 取款模塊設計.9 4.3.4 修改密碼模塊設計.10 4.3.5 退卡模塊設計.114.4 異常處理情況說明.115 系統(tǒng)實現(xiàn)與測試.126 用戶使用說明.177 課程設計總結(jié).19參考文獻.20附錄.

10、211 緒論1.1 課題背景ATM自動取款機是由計算機控制的持卡人自我服務型的金融專用設備。隨著我國金融電子化建設的深入發(fā)展和銀行客戶對金融服務質(zhì)量要求的提高,自動柜員(ATM機)在金融行業(yè)的應用越來越廣泛,自動柜員機(ATM機)在拉近客戶與銀行之間的距離,擴展營業(yè)網(wǎng)點,改善用卡環(huán)境,提供全天候、全方位的金融服務,降低經(jīng)營成本,提高金融行業(yè)的服務質(zhì)量和綜合競爭實力等方面正發(fā)揮著不可替代的作用。同時,隨著國內(nèi)銀行機構(gòu)的大量增加,我國的銀行業(yè)面臨更加激烈的同業(yè)競爭,如何提供更多的金融產(chǎn)品和更優(yōu)質(zhì)的服務,如何吸引更多的客戶,如何利用計算機技術(shù)加強銀行帳戶信息管理,提高銀行的工作效率和業(yè)務竟爭能力是擺

11、在各家銀行面前的一個迫切需要解訣的問題。Java是一個廣泛使用的編程語言,是一種新的計算概念。1995年Java的誕生讓全世界的程序員為之瘋狂。與以往的任何一種語言相比Java都有著無可比擬的優(yōu)勢。首先,Java是一種簡單、面向?qū)ο?、分布式、解釋、健壯、安全、結(jié)構(gòu)中立、可移植、高效能、動態(tài)的語言。目前,Java已得到了全世界主要計算機軟硬件廠商的支持,在計算機領(lǐng)域中得到了廣泛應用。本系統(tǒng)選題為基于Java程序設計的ATM柜員機模擬系統(tǒng),是模擬銀行存取款的管理。設計的指導思想是一切為使用者著想,界面要美觀大方,操作盡量簡單明了,而且作為一個實用的管理系統(tǒng)要有要有良好的容錯性,在出現(xiàn)誤操作時能盡量

12、及時地給出警告,以便用戶及時地改正。鑒于本系統(tǒng)的特殊性,還需要本程序有良好的保密性。1.2 課題目的對用戶來說,自動柜員機(ATM機)的誕生,使原來必須到銀行柜臺辦理的賬務查詢、轉(zhuǎn)賬等業(yè)務,可以在大街小巷的固定取款機前進行辦理。對銀行來說,自動柜員機(ATM機)的開通,將大大提高工作效率,在方便用戶的同時可以節(jié)省大量的柜臺服務為人員,從而降低生產(chǎn)經(jīng)營成本。同時,學生在教師指導下運用所學課程的知識來研究、解決一些具有一定綜合性問題的專業(yè)課題。通過課程設計(論文),提高學生綜合運用所學知識來解決實際問題、使用文獻資料、及進行科學實驗或技術(shù)設計的初步能力,為畢業(yè)設計(論文)打基礎(chǔ)。2 課題要求與分析

13、2.1 題目及要求課題描述:基于Java程序設計的ATM柜員機模擬系統(tǒng),ATM柜員機模擬系統(tǒng)要求是由各個Windows窗口組成,它由登錄頁面、選擇服務、取款、查詢余額、修改密碼和退卡等功能。它的各種按鈕的事件和功能能夠?qū)崿F(xiàn)模擬ATM柜員機的基本要求?;疽螅海?)實時性好、靈活性強、易于不同年齡階段的人操作;(2)以Windows窗口形式顯示,標題欄為ATM柜員機名稱;(3)用戶界面窗口右上角有最小化按鈕、最大化按鈕、關(guān)閉按鈕;(4)不同的界面窗口中有不同的按鈕和選擇菜單。實現(xiàn)提示:(1)用戶界面設計為菜單方式。程序運行用戶登錄后,顯示如下功能菜單: 1.存款;2.取款;3.查詢余額;4.修

14、改密碼;5.退出(2)用戶根據(jù)自己的需求選擇相應數(shù)字,程序就執(zhí)行相應的功能并顯示下一級菜單,直至用戶單擊【確定】退出界面。 2.2 操作環(huán)境(1) Windows 8系統(tǒng)(2) MyEclipse 編譯環(huán)境 (3) Wps 20132. 3 開發(fā)工具JAVA語言3 概要設計3.1 功能需求分析ATM柜員機模擬系統(tǒng)的主要功能如下所述:(1) 要求使用圖形用戶界面;(2) 當輸入給定的卡號和密碼(初始卡號為201253100226和密碼為 1314521)時,系統(tǒng)能登錄進入ATM柜員機模擬系統(tǒng);(3) 用戶可以按照以下流程進行操作:l 查詢余額:初始余額為60000元;l ATM存款:不能出現(xiàn)負存

15、款;l ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金 額不允許透支;l 修改密碼:只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況 下才可以成功修改密碼。3.2 其他需求分析性能描述:ATM柜員機模擬系統(tǒng)實時性好、靈活性強、易于不同年齡階段的人操作。設計約束:開發(fā)工具:MyEclipse運行環(huán)境:Windows XP 、Window 7、Window 8能實現(xiàn)用戶所定義的各項需求界面要求:以Windows窗口形式顯示,標題欄為ATM柜員機名稱,右上角有最小化按鈕、最大化按鈕、關(guān)閉按鈕,不同的窗口中有不同的按鈕和選擇菜單。系統(tǒng)流程: 1. 首先來到“歡迎使用ATM機!

16、 ”登錄頁面,輸入卡號和密碼。 2. 然后進入選擇服務模塊。3. 用戶根據(jù)自己的需要選擇相應的的功能。4. 用戶可根據(jù)相應的功能可任意輸入一些測試數(shù)據(jù)。5. 直到用戶單擊【確定】菜單退出頁面。4 系統(tǒng)設計4.1 總體設計根據(jù)課程設計的要求,為了讓系統(tǒng)設計的思路清晰,我所設計的ATM柜員機模擬系統(tǒng)主要是由登錄頁面模塊還由選擇服務模塊組成,其中選擇服務模塊又由存款模塊、取款模塊、查詢余額模塊、修改密碼模塊、退卡模塊組成。該系統(tǒng)主要功能模塊的流程圖如下: 登錄頁面模塊 選擇服務模塊存 款模塊取 款模塊查詢余額模塊修改密碼模塊退卡模塊4.2 界面設計ATM柜員機模擬系統(tǒng)的界面應該要簡單明了、思路清晰,

17、當然界面樣式美觀、人性化就更好了。本次課程設計的界面主要是由窗體組成,操作簡單,而每一個窗口則執(zhí)行相應的功能,一個系統(tǒng)界面的好壞直接影響到用戶的操作,界面設計要求樣式美觀、簡單明了、方便易操作。本次課程設計的界面主要分為窗體、菜單、按鈕和文本輸入框幾個部分,分別執(zhí)行相應的操作。(1)窗體的設計窗體整個框架使用Frame類構(gòu)造,F(xiàn)rame有自己的外邊框和自己的標題,創(chuàng)建Frame時可以指定其窗口標題,我創(chuàng)建的窗口標題是各個不同功能的模塊的名字,比如說查詢余額,還有取款等。相應源代碼為:WindowBox(String s,Account act)super(“ATM柜員機”); 、Selecti

18、on(String s,Account act) super(s);向Frame窗口中添加組件使用add( )。例如:button1 = new Button("存款");p1.add(button1);this.add(p1);每個Frame在其右上角都有三個控制圖標,分別代表將窗口最小化、窗口最大化和關(guān)閉的操作,其中最小化和最大化操作Frame可自動完成,而關(guān)閉窗口操作實現(xiàn)需要書寫有關(guān)的代碼,在的程序中我采用的是對WINDOWS_CLOSING事件做出響應,調(diào)用dispose()方法關(guān)閉窗口。Frame也可以引發(fā)WindowsEvent類代表的窗口事件。相應源代碼為:a

19、ddWindowListener(new WindowAdapter() /窗口偵聽器,以從此窗口接收窗口事件public void windowClosing(WindowEvent e) /處理窗口關(guān)閉事件 System.exit(0);); (2)窗體的主要結(jié)構(gòu)的設計本次課程設計窗口的主要結(jié)構(gòu)的特點就是每個窗口都對應著一個特定的功能。比如說報各種各樣的錯,還有各種查詢余額、取款、選擇服務等,所以它們都是由各種按鈕和文本框、標簽組成的,而聯(lián)系各個窗體成為一個整體的就是各個按鈕的監(jiān)聽事件。為了定義各個按鈕所對應的命令和操作,首先需要將各個按鈕注冊給實現(xiàn)了動作事件的監(jiān)聽接口的監(jiān)聽者,然后為監(jiān)聽

20、者定義actionPerformed(ActionEvent e)方法,在這個方法中調(diào)用e.getSource()或e.getActionCommand()來判斷用戶點擊的菜單子項,并完成這個菜單子項定義的操作。4.3 功能模塊設計4.3.1 登陸頁面模塊設計 平常與ATM柜員機打交道比較多的也是大家對安全比較關(guān)心的問題:密碼。所以第一個界面就是要輸入密碼和卡號才能繼續(xù)服務。本次課程設計定義了文本框累的對象tf1,tf2。主要是用于輸入單行的文本;文本區(qū)調(diào)用public String getText()方法,獲取用戶想要的字符串。用來判斷輸入的密碼和卡號是否正確,如果不正確的話,則彈出密碼或卡

21、號錯誤的警告框,并用dispose()關(guān)掉窗口。此模塊相應的部分源代碼為:public void actionPerformed(ActionEvent e)Account act;act=new Account("201253100226","DuShuai","1314521",60000);/初始化 /*選擇各種服務*/if(e.getSource() = button1)String number1,number2;/輸入的兩個卡號和密碼的變量number1=tf1.getText().toString();number2 =

22、 new String(tf2.getPassword() ;/*判斷兩次輸入的卡號和密碼是否正確*/if(act.getCode().equals(number1)&&(act.getPassword().equals(number2)dispose();new Selection("選擇服務",act);elseJOptionPane.showMessageDialog(this, "密碼或帳號錯誤!","賬戶提示信息",JOptionPane.ERROR_MESSAGE );dispose();new Windo

23、wBox("ATM") ;if(e.getSource()=button2)System.exit(0);dispose();/退出4.3.2 選擇服務模塊設計 在選擇服務模塊中,有各種ATM的服務功能,只要用戶在該界面中選擇按鈕,它就會彈出各個相應的界面。每一個按鈕都有監(jiān)聽器,在選擇了按鈕后,java.awt.event中的ActionEvent類創(chuàng)建一個事件對象,并將它傳遞給方法public void actionPerformed(ActionEvent e)中的參數(shù)e,監(jiān)視器就會知道所發(fā)生的事件,對此事件進行處理。其中的部分源代碼為:p.add(new Label(

24、"請選擇你要的服務");this.add(p); /*各種服務功能*/buttonCUN = new Button(" 存 款 ");p1.add(buttonCUN);this.add(p1);buttonQU = new Button(" 取 款 ");p2.add(buttonQU);this.add(p2);buttonCHA = new Button(" 查詢余額 ");p3.add(buttonCHA);this.add(p3);buttonGAI = new Button(" 修改密碼 &q

25、uot;);p5.add(buttonGAI);this.add(p5);buttonTUI = new Button(" 退 出 ");p4.add(buttonTUI);this.add(p4);this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););buttonCUN.addActionListener(this);buttonQU.addActionListener(this);buttonCHA.addActionListe

26、ner(this);buttonTUI.addActionListener(this);buttonGAI.addActionListener(this);setBounds(150,150,300,200);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=buttonCUN)/存款dispose() ;new SetBalance("存款款",act);else if(e.getSource()=buttonQU)/取款dispose();new

27、GetBalance("取款",act);else if(e.getSource()=buttonCHA)/查詢余額dispose();new Query("查詢余額",act);else if(e.getSource()=buttonTUI)/退出System.exit(0);dispose();else if(e.getSource()=buttonGAI)/修改密碼dispose();new ChangePassword("修改密碼",act);4.3.3 取款模塊設計在取款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個文本框和

28、一個按鈕還有標簽組成的。用戶在文本框中輸入他想取的數(shù)額,但是必須是100的倍數(shù),而且每一次最多只能取5000塊。當然了取款的時候也不能超過卡里的余額,再就是卡里的余額不可以為負,否則就會彈出報錯的窗口。其部分源代碼為:public String withdrawMoney(double money)String str = null ; if(money<=0) str = "取款數(shù)目須是正數(shù)!" else if(getMoney()<0)/判斷余額是否為負 str="余額為負數(shù)!" else if(money<=getMoney()

29、if(money%100!=0)|(money>=5000)/取錢數(shù)為100的倍數(shù)或不大于5000 str= "取款數(shù)目須是一百的整數(shù)倍!" else setBalance(money); str = "取款成功:余額為"+getMoney(); else str = "余額不足!" return str ;4.3.4 修改密碼模塊設計 在修改密碼模塊中,首先你必須要輸入你的舊密碼是否正確,否則就會報錯。再一個就是要兩次輸入你的新密碼,且兩次藥匹配,否則也會報錯,然后再重新回到修改密碼的界面。在修改密碼時用到的部分源代碼為:/*

30、判斷舊密碼是是否正確*/if(pwd2.equals(pwd1)if(pwd3.equals(pwd4)/判斷兩次輸入的新密碼是個匹配act.changePassword(pwd3);/啟用新的密碼dispose();JOptionPane.showMessageDialog(this, "修改密碼成功!");new Selection("選擇",act);/返回選擇服務窗口elsethis.setVisible(true); dispose(); JOptionPane.showMessageDialog(this, "兩次輸入要修改的密碼不

31、同,更新密碼失敗!"); new Selection("選擇",act); elsethis.setVisible(false);dispose();JOptionPane.showMessageDialog(this, "輸入密碼錯誤,更新密碼失敗!"); new Selection("選擇",act); 4.3.5 退卡模塊設計 在退卡模塊設計中,這個方法就更加的簡單了,它只是用了以下: if(e.getSource()=buttonTUI)/退出System.exit(0);dispose();4.4 異常處理情況說明

32、(1)打開、保存文件時的異常處理 需要處理的異常:IOException(2)數(shù)據(jù)庫訪問時的異常處理 需要處理的異常:SQLException(3)加載類時的異常處理 需要處理的異常:ClassNotFindException,當應用程序試圖使用Class類中的forName方法通過字符串名加載類時,但是沒有找到具有指定名稱的類的定義。(4)加載URL時的異常 需要處理的異常:MalformedURLException,拋出這一異常指示出現(xiàn)了錯誤的 URL?;蛘咴谝?guī)范字符串中找不到任何合法協(xié)議,或者無法分析字符串。5 系統(tǒng)實現(xiàn)與測試1. 登錄模塊頁面的實現(xiàn)與測試打開MyEclipse,編譯運行

33、程序后,將會看到如下的界面圖1,如果輸入的密碼或卡號不正確的話就會報圖2的錯誤。圖1 主界面登陸頁面圖2 輸入錯誤12. 選擇服務模塊頁面的實現(xiàn)與測試當輸入的密碼和卡號正確,單擊確定后就會進入到選擇服務的界面,如圖3所示。然后就可以選擇所需要的服務。圖3 選擇服務界面(1)存款模塊頁面的實現(xiàn)與測試 圖4 存款界面(2) 取款模塊頁面的實現(xiàn)與測試 圖5 取款界面當輸入的錢數(shù)小于100就會報圖6的錯誤如下:圖6 輸入錯誤2當輸入的錢數(shù)不是100的倍數(shù)或每一次大于5000時就會報圖7的錯誤如下:圖7 輸入錯誤3當輸入的錢數(shù)為4000時成功取款報圖8如下:圖8 輸入正確(3) 查詢余額模塊頁面的實現(xiàn)與

34、測試圖9 查詢余額界面(4) 修改密碼模塊頁面的實現(xiàn)與測試圖10 修改密碼界面經(jīng)過測試表明該ATM柜員機模擬系統(tǒng)運行穩(wěn)定且各項功能都能正確運行,所有的功能基本上都實現(xiàn)了,達到預期的要求。6 用戶使用說明ATM柜員機主要用途1. 能夠?qū)崿F(xiàn)用戶登錄的功能;2. 能夠?qū)崿F(xiàn)用戶存款的功能;3. 能夠?qū)崿F(xiàn)用戶取款的功能;3. 能夠?qū)崿F(xiàn)用戶查詢余額的功能;4. 能夠?qū)崿F(xiàn)用戶修改密碼的功能;5. 能夠?qū)崿F(xiàn)用戶退卡的功能;6. 系統(tǒng)運行穩(wěn)定能夠達到預期的要求??蛻羰褂迷敿氄f明1. 首先用戶來到“歡迎使用ATM機!用戶登錄頁面;2. 然后進入菜單選擇功能模塊,用戶根據(jù)自己的需要選擇相應的的功能;3. 用戶每鍵入

35、一個選擇功能,程序程序就執(zhí)行相應的功能;4. 直到用戶單擊【確定】菜單退出系統(tǒng)。注意事項1. 禁止對程序進行胡亂修改,胡亂在程序中增加或刪減代碼;2. 使用正確合法的編譯器編譯程序;3. 按照提示正確的輸入相關(guān)信息,進行正確的信息處理;4. 在任何一個操作結(jié)束后都進行保存,這樣才能確??记谛畔⒌臏蚀_無誤地記錄;5. 妥善保管好存儲的信息,每次使用完畢最好將新存儲信息拷貝保存,防止丟失;6. 不要輕易將程序拷貝給他人。7 課程設計總結(jié)問題與不足1. 沒有安裝java或者在環(huán)境變量中并沒有設置path路徑javabin目錄;2. 使用packet 編譯了沒有將指定package包在文件中的java

36、文件。2. 在調(diào)試過程中出現(xiàn)了很多的語法錯誤和邏輯錯誤;3. 在調(diào)試過程中,系統(tǒng)不能報錯并且不能自動終止系統(tǒng)的運行;4. 程序的輸出不夠美觀,程序的設計還存在不合理的地方,使得程序冗余; 5. 對于面向?qū)ο蟮姆椒私獠粔蛲笍?,運用到實際的軟件開發(fā)中存在著困難;6. 對于正規(guī)開發(fā)一個系統(tǒng)的流程不熟悉,適應起來比較慢,編寫各個模塊相對應的操作時,自己感覺難以動手,這表明所學的知識不能靈活運用到實際中。解決辦法1. 根據(jù)出現(xiàn)問題,自己要清楚的認識到自己的不足之處,需要大量閱讀相關(guān)的書籍,對于書上以及網(wǎng)站上下載的資料中的Java實例必須有清楚的理解;2. 對于程序運行中出現(xiàn)的錯誤,及時的詢問和求解,多

37、跟精通此方面的老師和同學交流,取其精華;3. 在完成程序的各模塊實現(xiàn)與測試后,要認真聽取別人對自己課程設計的建議;4. 實際動手能力與系統(tǒng)開發(fā)的流程的適應,必須多進行實際的練習與操作,才能有大的進步。感想與體會通過這次的課程設計,我對Java語言的界面設計、異常處理、Awt控件、Swing控件,輸入輸出流等有了更深的理解,并且使我深刻的認識到實踐的重要性,只有理論與實踐相結(jié)合才能達到很好的學習效果,學到很多東西,同時也發(fā)現(xiàn)僅僅書本的知識是遠遠不夠的,需要把知識運用到實踐中去,能力才能得到提高。我深刻感受到了面向?qū)ο笳Z言中類庫的強大功能,掌握了運用Java中的類實現(xiàn)某些基本功能,并學會了自己查詢

38、使用類的方法,為以后的面向?qū)ο笳Z言的自學奠定了基礎(chǔ)。在這次的課程設計中,主要是運用JAVA語言來編寫一個小的應用程序,當然還可以用其他的技術(shù)來輔助了。我用了Java外還用了Swing控件。輸入輸出流等技術(shù)。由于以前學的不是很扎實,而且還有些知識我們都是沒有學過的,這就要求我們?nèi)ゲ橄嚓P(guān)的書籍,還有就是和同學之間的交流。正因為這樣,才鍛煉了我的自學的能力,還有就是加深了我對各個知識點的認識,并且提高了我對專業(yè)的學習的興趣,為我以后的學習打下了基礎(chǔ)。此外,我還感受到了面向?qū)ο笳Z言的類庫的強大的功能,掌握了運用JAVA語言中的類實現(xiàn)某些基本功能,并學會了自己查詢使用類的方法。 通過這次課程設計,讓我對

39、JAVA語言進行程序設計有了更深的了解,在這個過程當中,我學到了很多的知識,同時也感謝我的同學的幫助和指導。在以后的學習當中,我會更加努力的學習好專業(yè)知識,并將所學的知識用于實踐當中去,以便牢固掌握知識。由于課程設計的題目還有很多,因此沒有對其他的題目進行深入的了解而感到遺憾,因此我希望在以后的學習過程中,能夠多多的學習這方面沒知識來彌補自身不足的地方。參考文獻1 印旻,王行言. JAVA語言與面向?qū)ο蟪绦蛟O計(第二版)M北京:清華大學出版社,2012.52 黃聰明,精通.JAVA程序設計M北京:清華大學出版社,2004.43 王文濤,袁海燕. JAVA實用程序設計100例M北京:人民郵電出版

40、社,2005.54 雍俊海. JAVA程序設計M北京:清華大學出版社,2006.85 劉寶林. JAVA程序設計與案例M北京:高等教育出版社,2006.116 王萌,劉婧,來賓著.JAVA程序設計M北京 冶金工業(yè)出版社,20047 張桂珠,劉麗,陳愛國. JAVA面向?qū)ο蟪绦蛟O計M北京:北京郵電大學出版社,2006.108 畢廣吉. JAVA程序設計實例教程M北京:冶金工業(yè)出版社,2007附錄 源程序清單import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;impor

41、t java.io.*;/*登陸頁面首窗口*/class WindowBox extends Frame implements ActionListenerBox baseBox,box1,box2;TextField tf1,tf2;Button button1;Button button2;WindowBox(String s)/構(gòu)造方法super(s); tf1 = new TextField(6); tf2 = new TextField(6);box1= Box.createVerticalBox;box1.add(new Label("請輸入你的卡號"); /輸

42、入卡號box1.add(Box.createVerticalStrut(8);box1.add(new Label("請輸入你的密碼");/輸入密碼box2=Box.createVerticalBox();box2.add(tf1);/box2.add(new TextField(16);box2.add(Box.createVerticalStrut(8);box2.add(tf2);/box2.add(new TextField(16);baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box

43、.createHorizontalStrut(10);baseBox.add(box2);add(baseBox);button1= new Button("確定");/加入按鈕button1.addActionListener(this);add(button1);button2 = new Button("退卡");/退卡按鈕button2.addActionListener(this);add(button2);setLayout(new FlowLayout();/*監(jiān)聽器*/this.addWindowListener(new WindowAd

44、apter()public void windowClosing(WindowEvent e)System.exit(0););setBounds(120,125,200,175);setVisible(true);public void actionPerformed(ActionEvent e)Account act; String card; String pwd;act=new Account("000000","Devil","123456",50000);/初始化 /*選擇各種服務*/if(e.getSource() =

45、button1)String number1,number2;/輸入的兩個卡號和密碼的變量 number1=tf1.getText();number2=tf2.getText();/*判斷兩次輸入的卡號和密碼是否正確*/if(act.get_Code().equals(number1)&&(act.get_Password().equals(number2)dispose();Selection s = new Selection("選擇服務",act);elsedispose();ErrorWarn ew = new ErrorWarn("消息!

46、",act);/報輸入密碼或卡號不正確if(e.getSource()=button2)System.exit(0);dispose();/退出 /*主函數(shù)*/class ATMpublic static void main(String args)new WindowBox("登錄頁面");/*選擇服務*/import java.awt.*;import java.awt.event.*;class Selection extends Frame implements ActionListenerButton button1,button2,button3,bu

47、tton4,button5;Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();Panel p4 = new Panel();Panel p5 = new Panel();Panel p = new Panel();Account act;public Selection()Selection(String s,Account act)super(s);this.act=act;this.setLayout(null);this.setLayout(new GridLayout(6,1);p.add(new

48、Label("請選擇你要的服務");this.add(p); /*各種服務功能*/button1 = new Button("存款");p1.add(button1);this.add(p1);button2 = new Button("取款");p2.add(button2);this.add(p2);button3 = new Button("查詢余額");p3.add(button3);this.add(p3);button4 = new Button("退出");p4.add(butto

49、n4);this.add(p4);button5 = new Button("修改密碼");p5.add(button5);this.add(p5);this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionLis

50、tener(this);setBounds(150,150,200,200);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=button2)/取款dispose();GetBalance gb = new GetBalance("取款",act);if(e.getSource()=button3)/查詢余額Query q =new Query("查詢余額",act);dispose();else if(e.getSource()

51、=button4)/退出System.exit(0);dispose();else if(e.getSource()=button5)/修改密碼ChangePassword cp = new ChangePassword("修改密碼",act);dispose();/*class Test4public static void main(String args) Selection s = new Selection("選擇");*/*取款功能*/import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class GetBalance ext

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論