ATM柜員機模擬程序(JAVA課程設計2012)_第1頁
ATM柜員機模擬程序(JAVA課程設計2012)_第2頁
ATM柜員機模擬程序(JAVA課程設計2012)_第3頁
ATM柜員機模擬程序(JAVA課程設計2012)_第4頁
ATM柜員機模擬程序(JAVA課程設計2012)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟 件 學 院課程設計報告書課程名稱 面向?qū)ο蟪绦蛟O計 設計題目 ATM柜員機模擬程序 專業(yè)班級 學 號 姓 名 指導教師 1 設計時間2013 年 6 月2 設計目的掌握圖形用戶界面設計方法,掌握常用swing組件的使用和事件處理程序設計.3設計任務ATM柜員機模擬程序 要求:使用圖形用戶界面。當輸入給定的卡號和密碼(初始卡號和密碼為)時,系統(tǒng)能登錄ATM柜員機系統(tǒng),用戶可以按照以下規(guī)則進行:(1)查詢余額功能:初始余額為10000元(2)ATM取款功能:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。(3)ATM存款功能:不能出現(xiàn)負存款。(4)修改密碼:新密碼長度不小

2、于6位,不允許出現(xiàn)6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。4 設計內(nèi)容 4.1 kehu類代碼:import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*; / 導入包import java.util.*;class kehu / 定義客戶類String zh; /定義賬號String pswf; /定義密碼double jine; /定義金額public kehu() /構造GUKEpublic kehu(String

3、zh, String pswf, double jine)this.zh = zh; this.pswf = pswf;this.jine = jine;String getzh() /定義成員變量賬號return zh; /成員方法double setMima(double pswf)/定義成員變量密碼return pswf;/成員方法double getJine()/定義成員變量金額return jine;/定義成員方法void cunkuan(double money)/定義成員變量存款jine = jine + money; /定義成員方法void quqian(double mone

4、y)/定義成員變量取款jine = jine - money; /定義成員方法String xiugaim(String mi)/定義成員變量密碼pswf = mi; /定義成員方法return pswf; 4.2 ATM主界面模塊設計: class ATM extends JFrame implements ActionListener /導入接口類JPanel p1,p2, p3; /定義個面板JLabel l1, l2, l3,l4; /定義個標簽JPasswordField pswf; /定義一個密碼文本JButton jb1, jb2; /定義個按鈕JTextField jtf1,j

5、c1; /定義個文本框Container content; /定義一個容器kehu g = new kehu4; /定義客戶類數(shù)組public ATM() /布局g0 = new kehu(liuyiping, , 10000);/客戶類數(shù)組里給的帳號,密碼,錢數(shù)g1 = new kehu(chengyang, , 10000);g2 = new kehu(zhangzhicheng, , 10000);g3 = new kehu(pengzhanyuan, , 10000);p1 = new JPanel(); p2 = new JPanel(); /定義第二個面板l2 = new JLab

6、el(卡號:); /定義標簽l2 jc1 = new JTextField(10); /定義賬號文本 l3 = new JLabel(密 碼:); /定義標簽l3pswf = new JPasswordField(12); /定義密碼文本l4 = new JLabel(歡迎使用劉一平的自動取款機);p1.add(l4);p2.add(l2); /把它們分別鑲在面板上p2.add(jc1);p2.add(l3);p2.add(pswf);p3 = new JPanel(); /定義第三個面板 jb1 = new JButton(登錄); /定義按鈕登錄jb1jb1.addActionListen

7、er(this); /jb1申請監(jiān)聽jb2 = new JButton(注銷); /定義按鈕注銷jb2jb2.addActionListener(this); /jb2申請監(jiān)聽p3.add(jb1); /把它們添加到p3面板里p3.add(jb2);content = this.getContentPane(); /布局定義content.setLayout(new BorderLayout();content.add(p1, BorderLayout.NORTH);content.add(p2, BorderLayout.CENTER); /定義中部為面板p2content.add(p3,

8、BorderLayout.SOUTH); /定義底部為面板p3this.pack();this.setTitle(ATM 柜員機); /定義為窗口名稱this.setBounds(300, 300, 400, 300); / 定義窗口的大小this.setResizable(false);this.show(); /顯示this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/ 關閉、退出public void actionPerformed(ActionEvent e) /監(jiān)聽類String x = jc1.getText(); if (e.g

9、etSource() = jb1) /如果點擊是jb1按鈕就進入Forfor (int i = 0; i 4; i+) /判斷名字在數(shù)組的位置if (x.equals(gi.zh) /檢查到開始判斷是否匹配if (pswf.getText().equals(gi.pswf) /名字匹配成功后判斷密碼是否成功new XUANZE(gi); /密碼真確后進入XUANZE的界面elseJOptionPane.showMessageDialog(this, 密碼錯誤!); /密碼錯誤彈出提示密碼錯誤elseSystem.exit(0); /注銷事件退出public static void main(S

10、tring args) /定義的MAIN,才能進入。new ATM(); 主界面 密碼輸入錯誤提示欄4.3 選擇頁面模塊設計: class XUANZE extends JFrame implements ActionListener /導入接口類JPanel p2, p3; /定義個面板JLabel l1; /定義個標簽JButton jb1, jb2, jb3, jb4, jb5; /定義個按鈕Container content; /定義一個容器kehu key; /定義客戶類傳從參數(shù)keypublic XUANZE(GUKE key)this.key = key; p2 = new JP

11、anel(); /定義面板 jb1 = new JButton(ATM取款); /定義jb1按鈕ATM取款jb1.addActionListener(this); /jb1申請監(jiān)聽jb2 = new JButton(ATM存款); /定義jb2按鈕ATM存款jb2.addActionListener(this); /jb2申請監(jiān)聽jb3 = new JButton(查詢余額); /定義jb3按鈕查詢余額jb3.addActionListener(this); /jb3申請監(jiān)聽jb4 = new JButton(修改密碼); /定義jb4按鈕修改密碼jb4.addActionListener(t

12、his); /jb4申請監(jiān)聽p2.add(jb1);p2.add(jb2);p2.add(jb3);p2.add(jb4);p3 = new JPanel(); /定義面板jb5 = new JButton(退出); /定義jb5按鈕退出 jb5.addActionListener( /定義一個匿名類 new ActionListener()public void actionPerformed(ActionEvent event)System.exit(0); /退出登陸 );p3.add(jb5);content = this.getContentPane(); /布局定義content.

13、setLayout(new BorderLayout();content.add(p2, BorderLayout.CENTER); /定義中部為面板p2content.add(p3, BorderLayout.SOUTH); /定義底部為面板p3this.pack();this.setTitle(進入界面); /定義為窗口名稱this.setBounds(300, 300, 400, 300); / 定義窗口的大小this.setResizable(false);this.show();public void actionPerformed(ActionEvent event) /接口監(jiān)聽i

14、f (event.getSource() = jb4) /判斷是否是jb4new Xgmm(key); /進入XgmmsetVisible(false);if (event.getSource() = jb1) /判斷是否是jb1new QUKUAN(key); /進入QUKUANsetVisible(false);if (event.getSource() = jb2) /判斷是否是jb2new CUNKUAN(key); /進入CUNKUANsetVisible(false);if (event.getSource() = jb3) /判斷是否是jb3new CHAXUN(key); /進

15、入CHAXUNsetVisible(false); 進入選擇界面4.4 存款模塊設計:class CUNKUAN extends JFrame implements ActionListener /導入接口類JPanel p2, p3; /定義個面板JLabel l1; /定義個標簽JButton jb1, jb2; /定義個按鈕JTextField jtf1; /定義一個文本框Container content; /定義一個容器kehu key; /定義客戶類傳從參數(shù)keypublic CUNKUAN(kehu key)this.key = key; /把key傳到頂層容器p2 = new

16、JPanel(); /定義面板l1 = new JLabel(請輸入您要存入的金額:); /定義一個標簽請輸入您要存入的金額:jtf1 = new JTextField(10); /定義一個文本框 p2.add(l1);p2.add(jtf1);p3 = new JPanel(); /定義第三個面板jb1 = new JButton(確定); /定義一個按鈕確定jb1.addActionListener(this); /jb1申請一個監(jiān)聽jb2 = new JButton(返回); /定義一個按鈕返回jb2.addActionListener( /定義一個匿名類監(jiān)聽 new ActionLis

17、tener()public void actionPerformed(ActionEvent event)XUANZEActionPerformed(event); );p3.add(jb1);p3.add(jb2);content = this.getContentPane(); /布局定義content.setLayout(new BorderLayout();content.add(p2, BorderLayout.NORTH); /定義頂部為面板p1 content.add(p2,BorderLayout.CENTER); /定義中部為面板p2content.add(p3, Borde

18、rLayout.SOUTH); /定義底部為面板p3this.pack();this.setTitle(自 動 存 款); /定義為窗口名稱this.setBounds(300, 300, 400, 300); / 定義窗口的大小this.setResizable(false);this.show(); /顯示public void actionPerformed(ActionEvent e) /接口監(jiān)聽類if (e.getSource() = jb1) /判斷是是否是jb1double money = Double.parseDouble(jtf1.getText();/ 把money轉(zhuǎn)成D

19、oubleJOptionPane.showMessageDialog(this, 成功存款 + jtf1.getText() + 元!);/一個提示框填出你成功存了多少key.cunkuan(money); /把存的錢傳回客戶類jtf1.setText(0);public void XUANZEActionPerformed(ActionEvent event) /匿名類監(jiān)聽過程if (event.getSource() = jb2) /判斷要是jb2new XUANZE(key); /返回XUANZE界面setVisible(false);存款界面 存款成功4.5 取款模塊設計:class

20、QUKUAN extends JFrame implements ActionListener /導入接口類JPanel p2, p3; /定義個面板JLabel l1; /定義個標簽JButton jb1, jb2; /定義個按鈕JTextField jtf1; /定義一個文本框Container content; /定義一個容器GUKE key; /定義客戶類傳從參數(shù)keypublic QUKUAN(GUKE key)this.key = key; /把key傳到頂層容器p2 = new JPanel(); /定義面板l1 = new JLabel(請輸入您要取的金額:); /定義一個標簽

21、請輸入您要取的金額:jtf1 = new JTextField(10); /定義一個文本框p2.add(l1);p2.add(jtf1);p3 = new JPanel(); /定義面板jb1 = new JButton(確定); /定義一個按鈕確定jb1.addActionListener(this); /jb1申請一個監(jiān)聽jb2 = new JButton(返回); /定義一個按鈕返回jb2.addActionListener(this); /jb1申請一個監(jiān)聽p3.add(jb1);p3.add(jb2);content = this.getContentPane(); /布局定義con

22、tent.setLayout(new BorderLayout();content.add(p2, BorderLayout.CENTER); /定義中部為面板p2content.add(p3, BorderLayout.SOUTH); /定義底部為面板p3this.pack();this.setTitle(自 動 取 款); /定義為窗口名稱 this.setBounds(300, 300, 400, 300); / 定義窗口的大小this.setResizable(false);this.show();public void actionPerformed(ActionEvent e) /

23、接口監(jiān)聽類if (e.getSource() = jb1) /判斷是是否是jb1double money = Double.parseDouble(jtf1.getText();/ 把money轉(zhuǎn)成Doubleif (money key.jine)if (money % 100 = 0)if (money =5000) JOptionPane.showMessageDialog(this, 成功取款 + jtf1.getText() + 元!);/一個提示框填出你成功取了多少key.quqian(money); /把存的錢傳回客戶類jtf1.setText(0);elseJOptionPane

24、.showMessageDialog(this, 提取金額不許超過五千);elseJOptionPane.showMessageDialog(this, 取款許為一百的整數(shù));elseJOptionPane.showMessageDialog(this, 金額不足不許透支);/一個提示框提示你你的卡即將要已透支if (e.getSource() = jb2)/判斷是是否是jb2new XUANZE(key); /返回XUANZEsetVisible(false); 取款界面取款成功 金額不足取款失敗提示 提取金額不許超過五千 提取金額需為一百的整數(shù)4.6 查詢余額模塊設計:class CHAX

25、UN extends JFrame implements ActionListener /導入接口類JPanel p2, p3; /定義個面板JLabel l1; /定義個標簽JButton jb1; /定義個按鈕 Container content; /定義一個容器kehu key; /定義客戶類傳從參數(shù)keypublic CHAXUN(kehu key) this.key=key; /把key傳到頂層容器 p2=new JPanel(); /定義面板 l1=new JLabel(您的剩余金額為:+ key.getJine(); p2.add(l1); p3=new JPanel(); /定

26、義面板 jb1=new JButton(返回); jb1.addActionListener(this); p3.add(jb1); content=this.getContentPane(); /布局定義 content.setLayout(new BorderLayout(); content.add(p2,BorderLayout.CENTER); /定義中部為面板p2 content.add(p3,BorderLayout.SOUTH); /定義底部為面板p3 this.pack(); this.setTitle(查 詢 余 額); /定義為窗口名稱 this.setBounds(30

27、0, 300, 400, 300); / 定義窗口的大小 this.setResizable(false); this.show(); public void actionPerformed(ActionEvent e) /接口監(jiān)聽類if (e.getSource() = jb1) /判斷是否是jb1 new XUANZE(key); /返回XUANZEsetVisible(false); 開戶資金10000元存700后查詢余額再取款900后查詢余額4.7修改密碼模塊設計:class Xgmm extends JFrame implements ActionListener /導入接口類JPa

28、nel p2, p3; /定義個面板JLabel l1, l2, l3, l4; /定義個標簽JPasswordField jtf1, jtf2, jtf3; /定義個文本框JButton jb1, jb2; /定義個按鈕Container content; /定義一個容器kehu key; /定義客戶類傳從參數(shù)keypublic Xgmm(kehu key)this.key=key; /把key傳到頂層容器 p2=new JPanel(); /定義第二個面板l2=new JLabel(請輸入原始密碼:); /定義標簽請輸入原始密碼:l3=new JLabel(輸入要修改的密碼:); /定義標

29、簽輸入要修改的密碼l4=new JLabel(確認輸入的新密碼:); /定義標簽確認輸入的新密碼:jtf1 = new JPasswordField(15); /定義文本框jtf1jtf2 = new JPasswordField(15); /定義文本框jtf2 jtf3=new JPasswordField(15); /定義文本框jtf3 p2.add(l2); p2.add(jtf1); p2.add(l3); p2.add(jtf2);p2.add(l4);p2.add(jtf3);p3=new JPanel(); /定義面板 jb1 = new JButton(確定); /定義按鈕jb

30、1 確定 jb1.addActionListener(this); /jb1申請監(jiān)聽 jb2 = new JButton(返回登錄); /定義按鈕jb2 放回登錄 jb2.addActionListener(this); /jb2申請監(jiān)聽 p3.add(jb1); p3.add(jb2); content = this.getContentPane(); /布局定義 content.setLayout(new BorderLayout(); content.add(p2,BorderLayout.CENTER); /定義中部為面板p2 content.add(p3,BorderLayout.S

31、OUTH); /定義底部為面板p3 this.pack(); this.setTitle(修 改 密 碼); /定義為窗口名稱 this.setBounds(300, 300, 400, 300); / 定義窗口的大小 this.setResizable(false); this.show(); /顯示 public void actionPerformed(ActionEvent e) /接口監(jiān)聽類if (e.getSource() = jb1) /判斷是否是jb1if (jtf1.getText().equals(key.pswf) /判斷是否是你輸入的pswf正確if (jtf2.get

32、Text().equals(jtf3.getText()/判斷是否是jtf2和jtf3相等不if (jtf2.getText().length()=6)if (jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() | jtf2.getText().equals() j

溫馨提示

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

評論

0/150

提交評論