欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      ATM取款機(jī)java課程設(shè)計(jì)[合集五篇]

      時(shí)間:2019-05-12 11:24:19下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《ATM取款機(jī)java課程設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《ATM取款機(jī)java課程設(shè)計(jì)》。

      第一篇:ATM取款機(jī)java課程設(shè)計(jì)

      學(xué)

      JAVA 課程設(shè)計(jì)報(bào)告

      目: 《ATM柜員機(jī)》課程設(shè)計(jì)

      學(xué)

      院:

      信 息 工 程 學(xué) 院

      業(yè):

      計(jì)算機(jī)科學(xué)與技術(shù)

      指導(dǎo)老師:

      二0一三年六月

      目錄 課程設(shè)計(jì)過程概述.......................................................................................3 2 課程設(shè)計(jì)題目描述和基本設(shè)計(jì)要求...........................................................3 3 系統(tǒng)需求分析...............................................................................................3 3.1 功能需求分析···················································································· 3 3.2 其他需求分析···················································································· 4 4 系統(tǒng)設(shè)計(jì)........................................................................................................4 4.1 總體設(shè)計(jì) ··························································································· 4 4.2 ATM柜員機(jī)界面設(shè)計(jì) ········································································· 5 4.3 各功能模塊設(shè)計(jì) ················································································ 7

      4.3.1 登陸頁面模塊設(shè)計(jì) ····························································· 7 4.3.2 選擇服務(wù)模塊設(shè)計(jì) ····························································· 8 4.3.3 取款模塊設(shè)計(jì) ····································································· 9 4.3.4 修改密碼模塊設(shè)計(jì) ····························································· 9 4.3.5 退卡模塊設(shè)計(jì) ··································································· 10

      4.4 異常處理情況說明 ·········································································· 10 5 系統(tǒng)實(shí)現(xiàn)與測(cè)試.........................................................................................11 6 課程設(shè)計(jì)總結(jié).............................................................................................13 6.1 遇到的問題及解決辦法 ·································································· 13 6.2 心得體會(huì) ························································································· 14 參考文獻(xiàn)..........................................................................................................15 附錄..................................................................................................................15

      ATM初始賬號(hào):000000

      初始密碼:123456

      ATM柜員機(jī) 課程設(shè)計(jì)過程概述

      2013年6月,JAVA課程設(shè)計(jì)在1#樓六樓機(jī)房進(jìn)行,持續(xù)時(shí)間為兩周。這次課程設(shè)計(jì)的主要目的是結(jié)合面向?qū)ο蟪绦蛟O(shè)計(jì)課程,培養(yǎng)我們面向?qū)ο筌浖_發(fā)的思維,初步了解軟件開發(fā)的一般流程,提高用JAVA編程的實(shí)際動(dòng)手能力并增強(qiáng)大家對(duì)面向?qū)ο蟮牧私狻_@次課程設(shè)計(jì)的主要內(nèi)容是獨(dú)立用JAVA語言開發(fā)一個(gè)小的應(yīng)用程序。我們開發(fā)了一個(gè)ATM柜員機(jī)。課程設(shè)計(jì)題目描述和基本設(shè)計(jì)要求

      我設(shè)計(jì)的ATM柜員機(jī)主要是由各個(gè)Windows窗口組成,它是由登錄頁面、選擇服務(wù)、取款、查詢余額、修改密碼和退卡等功能。它的各種按鈕的事件和功能可以簡單的模擬ATM柜員機(jī)的要求。3 系統(tǒng)需求分析 3.1 功能需求分析

      本ATM柜員機(jī)的主要功能如下所述:

      要求使用圖形用戶界面。當(dāng)輸入給定的卡號(hào)和密碼(初始卡號(hào)為000000和密碼為123456)時(shí),系統(tǒng)能登錄ATM柜員機(jī)系統(tǒng),用戶可

      以按照以下規(guī)則進(jìn)行:

      ? 查詢余額:初始余額為50000元

      ? ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。? ATM存款:不能出現(xiàn)負(fù)存款。

      ? 修改密碼:只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。

      3.2 其他需求分析(1)性能描述

      實(shí)時(shí)性好、靈活性強(qiáng)、易于不同年齡階段的人操作。(2)設(shè)計(jì)約束 開發(fā)工具:MyEclipse 運(yùn)行環(huán)境:Windows XP、Window 7 能實(shí)現(xiàn)用戶所定義的各項(xiàng)需求。(3)界面要求

      以Windows窗口形式顯示,標(biāo)題欄為ATM柜員機(jī)名稱,右上角有最小化按鈕、最大化按鈕、關(guān)閉按鈕,不同的窗口中有不同的按鈕和選擇菜單。4 系統(tǒng)設(shè)計(jì) 4.1 總體設(shè)計(jì)

      我所設(shè)計(jì)的ATM柜員機(jī)主要是由登錄頁面模塊還由選擇服務(wù)模塊組

      成,其中選擇服務(wù)模塊又由取款模塊、查詢余額模塊、修改密碼模塊、退卡模塊組成。其功能結(jié)構(gòu)圖如下所示:

      圖1 ATM功能結(jié)構(gòu)示意圖 4.2 ATM柜員機(jī)界面設(shè)計(jì)

      我們覺得一個(gè)系統(tǒng)的界面應(yīng)該要簡單明了,當(dāng)然樣式美觀就更好了。我設(shè)計(jì)的界面主要是由窗體組成,操作簡單。而每一個(gè)窗口則執(zhí)行相應(yīng)的功能。

      一個(gè)系統(tǒng)界面的好壞直接影響到用戶的操作,界面設(shè)計(jì)要求樣式美觀、簡單明了、方便易操作。我設(shè)計(jì)的界面主要分為窗體、菜單、按鈕和文本輸入框幾個(gè)部分,分別執(zhí)行相應(yīng)的操作。(1)窗體的設(shè)計(jì)

      窗體整個(gè)框架使用Frame類構(gòu)造,F(xiàn)rame有自己的外邊框和自己的標(biāo)題,創(chuàng)建Frame時(shí)可以指定其窗口標(biāo)題,我創(chuàng)建的窗口標(biāo)題是各個(gè)不

      同功能的模塊的名字,比如說查詢余額,還有取款等。相應(yīng)源代碼為: 向Frame窗口中添加組件使用add()。例如:button1 = new Button(“存款”);p1.add(button1);this.add(p1);每個(gè)Frame在其右上角都有三個(gè)控制圖標(biāo),分別代表將窗口最小化、窗口最大化和關(guān)閉的操作,其中最小化和最大化操作Frame可自動(dòng)完成,而關(guān)閉窗口操作實(shí)現(xiàn)需要書寫有關(guān)的代碼,在我的程序中我采用的是對(duì)WINDOWS_CLOSING事件做出響應(yīng),調(diào)用dispose()方法關(guān)閉窗口。Frame也可以引發(fā)WindowsEvent類代表的窗口事件。相應(yīng)源代碼為:

      addWindowListener(new WindowAdapter()//窗口偵聽器,以從此窗口接收窗口事件

      {public void windowClosing(WindowEvent e)//處理窗口關(guān)閉事件 { System.exit(0);} });}(2)窗體的主要結(jié)構(gòu)的設(shè)計(jì)

      我所設(shè)計(jì)的窗口的主要結(jié)構(gòu)的特點(diǎn)就是每個(gè)窗口都對(duì)應(yīng)著一個(gè)特定的功能。比如說報(bào)各種各樣的錯(cuò),還有各種查詢余額、取款、選擇服務(wù)等,所以它們都是由各種按鈕和文本框,標(biāo)簽組成的,而聯(lián)系各個(gè)窗體成為一個(gè)整體的就是各個(gè)按鈕的監(jiān)聽事件。所以整個(gè)設(shè)計(jì)就趨向簡單化了。

      為了定義各個(gè)按鈕所對(duì)應(yīng)的命令和操作,首先需要將各個(gè)按鈕注冊(cè)給實(shí)現(xiàn)了動(dòng)作事件的監(jiān)聽接口ActionListener的監(jiān)聽者,然后為監(jiān)聽者定義actionPerformed(ActionEvent e)方法,在這個(gè)方法中調(diào)用e.getSource()或e.getActionCommand()來判斷用戶點(diǎn)擊的菜單子項(xiàng),并完成這個(gè)菜單子項(xiàng)定義的操作。4.3 各功能模塊設(shè)計(jì) 4.3.1 登陸頁面模塊設(shè)計(jì)

      與ATM柜員機(jī)打交道比較多的,也是大家對(duì)安全比較關(guān)心的問題:密碼。所以第一個(gè)界面就是要輸入密碼和卡號(hào)才能繼續(xù)服務(wù)。我定義了文本框類的對(duì)象tf1,tf2。是用于輸入單行的文本;文本區(qū)調(diào)用public String getPassword()方法,獲取用戶想要的字符串。用來判斷輸入的密碼和卡號(hào)是否正確,如果不正確的話,則彈出密碼或卡號(hào)錯(cuò)誤的警告框,并用dispose()關(guān)掉窗口。此模塊相應(yīng)的部分源代碼為:

      public void actionPerformed(ActionEvent e){ Account act;act=new Account(“000000”,“HuangHuai”,“123456”,50000);//初始化

      /*選擇各種服務(wù)*/ if(e.getSource()== button1){ String number1,number2;//輸入的兩個(gè)卡號(hào)和密碼的變量

      number1=tf1.getText().toString();number2 = new String(tf2.getPassword());

      /*判斷兩次輸入的卡號(hào)和密碼是否正確*/

      if((act.getCode().equals(number1))&&(act.getPassword().equals(number2))){

      dispose();

      new Selection(“選擇服務(wù)”,act);}else{

      JOptionPane.showMessageDialog(this, “密碼或帳號(hào)錯(cuò)誤!”,“賬戶提

      示信息”,JOptionPane.ERROR_MESSAGE);

      dispose();

      new WindowBox(“ATM”);

      } }

      if(e.getSource()==button2){

      System.exit(0);

      dispose();//退出

      } } 4.3.2 選擇服務(wù)模塊設(shè)計(jì)

      在選擇服務(wù)模塊中,有各種ATM的服務(wù)功能,只要用戶在該界面中選擇按鈕,它就會(huì)彈出各個(gè)相應(yīng)的界面。每一個(gè)按鈕都有監(jiān)聽器,在選擇了按鈕后,java.awt.event中的ActionEvent類創(chuàng)建一個(gè)事件對(duì)象,并將它傳遞給方法public void actionPerformed(ActionEvent e)中的參數(shù)e,監(jiān)視器就會(huì)知道所發(fā)生的事件,對(duì)此事件進(jìn)行處理。其中的部分源代碼為:

      p.add(new Label(“請(qǐng)選擇你要的服務(wù)”));

      this.add(p);/*各種服務(wù)功能*/

      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);

      buttonTUI = new Button(“ 退 出 ”);

      p4.add(buttonTUI);

      this.add(p4);

      buttonGAI = new Button(“ 修改密碼 ”);

      4.3.3 取款模塊設(shè)計(jì)

      在取款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的。用戶在文本框中輸入他想取的數(shù)額,但是必須是100的倍數(shù),而且每一次最多只能取5000塊。當(dāng)然了取款的時(shí)候也不能超過卡里的余額,再就是卡里的余額不可以為負(fù),否則就會(huì)彈出報(bào)錯(cuò)的窗口。其方法為:

      public String withdrawMoney(double money){

      String str = null;

      if(money<=0){

      str = “取款數(shù)目須是正數(shù)!”;}else{

      if(getMoney()<0){//判斷余額是否為負(fù)

      str=“余額為負(fù)數(shù)!”;

      }else if(money<=getMoney()){

      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 修改密碼模塊設(shè)計(jì)

      在修改密碼模塊中,首先你必須要輸入你的舊密碼是否正確,否則就會(huì)報(bào)錯(cuò)。再一個(gè)就是要兩次輸入你的新密碼,且兩次藥匹配,否則也會(huì)報(bào)錯(cuò),然后再重新回到修改密碼的界面。在修改密碼時(shí)用到的方法為:

      /*判斷舊密碼是是否正確*/ if(pwd2.equals(pwd1)){

      if(pwd3.equals(pwd4)){//判斷兩次輸入的新密碼是個(gè)匹配

      act.changePassword(pwd3);//啟用新的密碼

      dispose();

      JOptionPane.showMessageDialog(this, “修改密碼成功!”);

      new Selection(“選擇”,act);//返回選擇服務(wù)窗口

      }else{

      this.setVisible(true);

      dispose();

      JOptionPane.showMessageDialog(this, “兩次輸入要修改的密碼不同,更新密碼失敗!”);

      new Selection(“選擇”,act);

      } }else{

      this.setVisible(false);

      dispose();

      JOptionPane.showMessageDialog(this, “輸入密碼錯(cuò)誤,更新密碼失敗!”);

      new Selection(“選擇”,act);} } 4.3.5 退卡模塊設(shè)計(jì)

      在退卡模塊設(shè)計(jì)中,這個(gè)方法就更加的簡單了,它只是用了if(e.getSource()==buttonTUI){//退出

      System.exit(0);

      dispose();

      } 這個(gè)方法就可以實(shí)現(xiàn)了,這里就不再多說了。4.4 異常處理情況說明

      (1)打開、保存文件時(shí)的異常處理 需要處理的異常:IOException(2)數(shù)據(jù)庫訪問時(shí)的異常處理 需要處理的異常:SQLException

      (3)加載類時(shí)的異常處理

      需要處理的異常:ClassNotFindException,當(dāng)應(yīng)用程序試圖使用Class類中的forName方法通過字符串名加載類時(shí),但是沒有找到具有指定名稱的類的定義。(4)加載URL時(shí)的異常

      需要處理的異常:MalformedURLException,拋出這一異常指示出現(xiàn)了錯(cuò)誤的 URL?;蛘咴谝?guī)范字符串中找不到任何合法協(xié)議,或者無法分析字符串。5 系統(tǒng)實(shí)現(xiàn)與測(cè)試

      (1)打開MyEclipse,編譯運(yùn)行程序后,將會(huì)看到如下的界面,如圖2所示。如果輸入的密碼或卡號(hào)不正確的話就會(huì)報(bào)下圖的錯(cuò)誤。

      圖2 主界面—登陸頁面

      (2)選擇服務(wù)界面效果

      當(dāng)輸入的密碼和卡號(hào)正確,單擊確定后就會(huì)進(jìn)入到選擇服務(wù)的界面,如圖3所示。然后就可以選擇所需要的服務(wù)了。

      圖3 選擇服務(wù)界面

      (3)取款界面,如圖4所示。

      圖4 取款界面

      當(dāng)輸入的錢數(shù)不是100的倍數(shù)或每一次大于5000時(shí)就會(huì)報(bào)圖5的錯(cuò)誤。

      圖5 輸入錯(cuò)誤

      當(dāng)取款時(shí)如果超過卡里的余額的話就會(huì)報(bào)圖6的錯(cuò)誤。

      圖6 輸入錯(cuò)誤2(4)查詢余額界面,如圖7所示。

      圖7 查詢余額界面

      (5)修改密碼界面,如下圖所示。

      經(jīng)過測(cè)試,所有的功能基本上都實(shí)現(xiàn)了,而且運(yùn)行正常。6 課程設(shè)計(jì)總結(jié)

      6.1 遇到的問題及解決辦法

      在此次課程設(shè)計(jì)中,我遇到了一些問題,如:對(duì)于面向?qū)ο蟮姆椒私獠粔蛲笍?,運(yùn)用到實(shí)際的軟件開發(fā)中存在著困難;對(duì)于Java語言,只學(xué)習(xí)到了一些最基本的知識(shí),這導(dǎo)致編寫程序時(shí)經(jīng)常出現(xiàn)一些語法錯(cuò)誤,而且要在短時(shí)間內(nèi)用Java語言來設(shè)計(jì)一個(gè)具體的系統(tǒng)是一個(gè)較大的挑戰(zhàn);還有對(duì)于正規(guī)開發(fā)一個(gè)系統(tǒng)的流程不熟悉,適應(yīng)起來比

      較慢,編寫各個(gè)模塊相對(duì)應(yīng)的操作時(shí),自己感覺難以動(dòng)手,這表明所學(xué)的知識(shí)不能靈活運(yùn)用到實(shí)際中。

      對(duì)于以上的問題,自己有清楚的認(rèn)識(shí),解決辦法是需要大量閱讀相關(guān)的書籍,對(duì)于書上以及網(wǎng)站上下載的資料中的Java實(shí)例必須有清楚的理解,還有就是多跟精通此方面的老師和同學(xué)交流,取其精華。對(duì)于實(shí)際動(dòng)手能力與系統(tǒng)開發(fā)的流程的適應(yīng),必須多進(jìn)行實(shí)際的練習(xí)與操作,才能有大的進(jìn)步。6.2 心得體會(huì)

      在這次的學(xué)年度課程設(shè)計(jì)中,我主要運(yùn)用了Java語言的界面設(shè)計(jì)、異常處理、、Awt控件、Swing控件,輸入輸出流等,綜合運(yùn)用了Java語言。我深刻感受到了面向?qū)ο笳Z言中類庫的強(qiáng)大功能,掌握了運(yùn)用Java中的類實(shí)現(xiàn)某些基本功能,并學(xué)會(huì)了自己查詢使用類的方法,為以后的面向?qū)ο笳Z言的自學(xué)奠定了基礎(chǔ)。

      通過這兩個(gè)禮拜的課程設(shè)計(jì)我真的學(xué)到了很多的東西,當(dāng)然這也和我的同學(xué)的幫助是離不開的。好了,下面就談一下我在這些天的體會(huì)吧: 在這次的課程設(shè)計(jì)中,主要是運(yùn)用JAVA語言來編寫一個(gè)小的應(yīng)用程序,當(dāng)然還可以用其他的技術(shù)來輔助了。在這個(gè)小應(yīng)用程序當(dāng)中,我用了Java外還用了Swing控件。輸入輸出流等技術(shù)。由于以前學(xué)的不是很扎實(shí),而且還有些知識(shí)我們都是沒有學(xué)過的,這就要求我們?nèi)ゲ橄嚓P(guān)的書籍,還有就是和同學(xué)之間的交流。正因?yàn)檫@樣,才鍛煉了我的自學(xué)的能力,還有就是加深了我對(duì)各個(gè)知識(shí)點(diǎn)的認(rèn)識(shí),并且提高了我對(duì)專業(yè)的學(xué)習(xí)的興趣,為我以后的學(xué)習(xí)打下了基礎(chǔ)。此外,我還

      感受到了面向?qū)ο笳Z言的類庫的強(qiáng)大的功能,掌握了運(yùn)用JAVA中的類實(shí)現(xiàn)某些基本功能,并學(xué)會(huì)了自己查詢使用類的方法,也就是要會(huì)用API文檔,為以后更好的學(xué)習(xí)面向?qū)ο笳Z言奠定了基礎(chǔ)。通過將近兩周的努力,這次課程設(shè)計(jì)終于結(jié)束了,在這個(gè)過程當(dāng)中,我學(xué)到了很多的知識(shí),同時(shí)也感謝我的同學(xué)的幫助和指導(dǎo)。在以后的學(xué)習(xí)當(dāng)中,我會(huì)更加努力的學(xué)習(xí)好專業(yè)知識(shí),并將所學(xué)的知識(shí)用于實(shí)踐當(dāng)中去,以便牢固掌握知識(shí)。參考文獻(xiàn)

      [1] 王萌,劉婧,來賓著.JAVA程序設(shè)計(jì)[M]北京 冶金工業(yè)出版社,2004 [2] 黃聰明 精通 JAVA2程序設(shè)計(jì)[M]北京:清華大學(xué)出版社,2004.4 [3] 王文濤,袁海燕 JAVA實(shí)用程序設(shè)計(jì)100例[M]北京:人民郵電出版社,2005.5 [4] 雍俊海 JAVA程序設(shè)計(jì)[M]北京:清華大學(xué)出版社,2006.8 [5] 劉寶林 JAVA程序設(shè)計(jì)與案例[M]北京:高等教育出版社,2006.11 附錄

      Account類:

      package cn.com.account;/** * 帳戶

      * 該類為實(shí)現(xiàn)客戶信息及部分功能 */

      public class Account {

      private String code = null;//信用卡號(hào) private String name = null;//客戶姓名 private String password= null;//客戶密碼 private double money = 0.0;//卡里金額

      public Account(){

      }

      public Account(String code,String name,String password,double money){

      } public String getCode(){//取得卡號(hào)

      return code;} public String getName(){//取得名字

      return name;} /**

      * 取得密碼 * @return */

      public String getPassword(){ } /**

      * 重置秘密的方法 */

      public void changePassword(String pwd){ }

      public double getMoney(){//取得余額

      return money;} /**

      * 得到剩余的錢的數(shù)目 */

      private void setBalance(double mon){ } money-= mon;password = pwd;return password;this.code=code;this.name=name;this.password=password;this.money=money;this.code = “123456”;this.password = “123456”;

      } /** * 取款設(shè)置 * 若成功顯示余額 * 不成功顯示提示信息 */

      public String withdrawMoney(double money){ String str = null;if(money<=0){ str = “取款數(shù)目須是正數(shù)!”;}else{

      if(getMoney()<0){//判斷余額是否為負(fù)

      str=“余額為負(fù)數(shù)!”;}else if(money<=getMoney()){

      if((money%100!=0)||(money>=5000)){//取錢數(shù)為100的倍數(shù) str= “取款數(shù)目須是一百的整數(shù)倍!”;}else{

      setBalance(money);str = “取款成功:余額為”+getMoney();} 或不大于5000

      }else{

      str = “余額不足!”;}

      } return str;} /** * 存款設(shè)置 * 若成功顯示余額 * 不成功顯示提示信息 */

      public String depositMoney(double money){

      } String str = null;

      if(money<0){ str =“存款數(shù)目須是正數(shù)!”;}else{ setBalance(-money);str = “存款成功:余額為”+getMoney();} return str;ChangePassword類:

      package cn.com.frameui;import cn.com.account.Account;import javax.swing.*;import java.awt.*;import java.awt.event.*;@SuppressWarnings(“serial”)public class ChangePassword extends Frame implements ActionListener{

      Panel panel1 = new Panel();Panel panel2 = new Panel();Panel panel3 = new Panel();Panel panel = new Panel();//TextField tf4,tf5,tf6;JPasswordField tf4,tf5,tf6;Button button;Account act;ChangePassword(String s,Account act){

      super(s);this.act=act;

      tf4 = new JPasswordField(6);tf5 = new JPasswordField(6);tf6 = new JPasswordField(6);button = new Button(“確定”);button.addActionListener(this);/*建立新密碼*/

      panel1.add(new Label(“請(qǐng)輸入你的舊密碼:”));panel1.add(tf4);panel2.add(new Label(“請(qǐng)輸入你的新密碼:”));panel2.add(tf5);panel3.add(new Label(“請(qǐng)?jiān)俅屋斎胄旅艽a:”));panel3.add(tf6);panel.add(button);this.add(panel1);this.add(panel2);this.add(panel3);this.add(panel);setLayout(new GridLayout(4,1));setBounds(200,200,300,200);this.setVisible(true);/**

      * 窗口事件, 判斷窗口是否關(guān)閉 */

      this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){

      System.exit(0);

      }

      }

      } });/**

      * 判斷事件源,看條件是否成立再修改密碼 */

      public void actionPerformed(ActionEvent e){ if(e.getSource()==button){ String pwd2,pwd3,pwd4,pwd1;char [] p2,p3,p4;pwd1 = act.getPassword();p2=tf4.getPassword();p3=tf5.getPassword();p4=tf6.getPassword();

      pwd2 = new String(p2);pwd3 = new String(p3);pwd4 = new String(p4);

      if(pwd2.equals(pwd1)){

      if(pwd3.equals(pwd4)){//判斷兩次輸入的新密碼是個(gè)匹配

      act.changePassword(pwd3);//啟用新的密碼 dispose();JOptionPane.showMessageDialog(this, “修改密碼成功!”);new Selection(“選擇”,act);//返回選擇服務(wù)窗口 }else{ this.setVisible(true);dispose();JOptionPane.showMessageDialog(this, “兩次輸入要修改的密碼不同, new Selection(”選擇“,act);}

      this.setVisible(false);dispose();JOptionPane.showMessageDialog(this, ”輸入密碼錯(cuò)誤,更新密碼失更新密碼失敗!“);}else{ 敗!”);

      new Selection(“選擇”,act);} } }

      GetBalance類:

      package cn.com.frameui;import cn.com.account.*;import javax.swing.*;

      import java.awt.*;import java.awt.event.*;@SuppressWarnings(“serial”)public class GetBalance extends Frame implements ActionListener{

      Box baseBox, box1,box2;Button button;TextField tf;Account act;public GetBalance(String s,Account act){//構(gòu)造函數(shù)

      super(s);

      }

      public void actionPerformed(ActionEvent e){

      double money;String str = null;/*

      * 取款判定 */ this.act=act;button=new Button(“確定”);Panel panel = new Panel();Panel panel1 = new Panel();tf = new TextField(6);this.setLayout(new GridLayout(2,1));panel1.add(new Label(“請(qǐng)輸入你想取錢的數(shù)目”));panel1.add(tf);panel.add(button);this.add(panel1);this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter(){

      public void windowClosing(WindowEvent e){ }

      System.exit(0);});setBounds(200,200,300,200);this.setVisible(true);

      if(tf.getText().toString().equals(“")){ str = ”取款數(shù)目不能為空!“;}else{

      } money = Double.parseDouble(tf.getText().toString());str = act.withdrawMoney(money);

      JOptionPane.showMessageDialog(this, str,”取款提示信息“,JOptionPane.PLAIN_MESSAGE);

      } this.setVisible(false);new Selection(”選擇服務(wù)“,act);}

      Query類:

      package cn.com.frameui;import cn.com.account.*;import java.awt.*;import java.awt.event.*;@SuppressWarnings(”serial“)public class Query extends Frame implements ActionListener{

      Button button;Account act;public Query(String s,Account act){//構(gòu)造函數(shù)

      super(s);

      this.act = act;

      button=new Button(”確定“);

      Panel panel1 = new Panel();Panel panel = new Panel();panel1.add(new Label(”你的余額為: “ + act.getMoney()));//查詢余額的方法

      this.add(panel1);this.add(panel);

      button.addActionListener(this);panel.add(button);

      this.setLayout(new GridLayout(2,1));this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){

      }

      }

      }

      System.exit(0);});setBounds(200,200,200,150);setVisible(true);public void actionPerformed(ActionEvent e){

      } if(e.getSource()==button){ dispose();new Selection(”選擇服務(wù)“,act);//返回選擇服務(wù)窗口

      } Selection類:

      package cn.com.frameui;import cn.com.account.*;import java.awt.*;import java.awt.event.*;@SuppressWarnings(”serial“)public class Selection extends Frame implements ActionListener{

      Button buttonCUN,buttonQU,buttonCHA,buttonTUI,buttonGAI;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(){} public Selection(String s,Account act){

      super(s);this.act=act;this.setLayout(null);this.setLayout(new GridLayout(6,1));p.add(new Label(”請(qǐng)選擇你要的服務(wù)“));this.add(p);buttonCUN = new Button(” 存 款 “);p1.add(buttonCUN);this.add(p1);buttonQU = new Button(” 取 款 “);p2.add(buttonQU);/*各種服務(wù)功能*/

      } this.add(p2);buttonCHA = new Button(” 查詢余額 “);p3.add(buttonCHA);this.add(p3);buttonTUI = new Button(” 退 出 “);p4.add(buttonTUI);this.add(p4);buttonGAI = new Button(” 修改密碼 “);p5.add(buttonGAI);this.add(p5);this.addWindowListener(new WindowAdapter(){

      public void windowClosing(WindowEvent e){ System.exit(0);} });buttonCUN.addActionListener(this);buttonQU.addActionListener(this);buttonCHA.addActionListener(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 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);

      } SetBalance類:

      package cn.com.frameui;import cn.com.account.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;@SuppressWarnings(”serial“)public class SetBalance extends Frame implements ActionListener{

      Box baseBox, box1,box2;Button button;TextField tf;Account act;public SetBalance(String s,Account act){//構(gòu)造函數(shù)

      super(s);

      }

      public void actionPerformed(ActionEvent e){ this.act=act;button=new Button(”確定“);Panel panel = new Panel();Panel panel1 = new Panel();tf = new TextField(6);this.setLayout(new GridLayout(2,1));panel1.add(new Label(”請(qǐng)輸入你想存款的數(shù)目“));panel1.add(tf);panel.add(button);this.add(panel1);this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter(){

      public void windowClosing(WindowEvent e){ }

      System.exit(0);});setBounds(200,200,300,200);this.setVisible(true);

      double money;String str = null;if(tf.getText().toString().equals(”“)){ str = ”存款數(shù)目不能為空!“;}else{

      } money = Double.parseDouble(tf.getText().toString());str = act.depositMoney(money);

      JOptionPane.showMessageDialog(this, str,”存款提示信息“,JOptionPane.INFORMATION_MESSAGE);

      } dispose();this.setVisible(false);new Selection(”選擇服務(wù)“,act);} WindowBox類:

      package cn.com.frameui;import cn.com.account.Account;import javax.swing.*;

      import java.awt.*;import java.awt.event.*;/**

      * 登陸頁面首窗口 */

      @SuppressWarnings(”serial“)public class WindowBox extends Frame implements ActionListener{

      box1= Box.createVerticalBox();box1.add(new Label(”請(qǐng)輸入您的卡號(hào)“));//輸入卡號(hào) box1.add(Box.createVerticalStrut(8));box1.add(new Label(”請(qǐng)輸入您的密碼“));//輸入密碼 box2=Box.createVerticalBox();Box baseBox,box1,box2;TextField tf1;JPasswordField tf2;Button button1;Button button2;public WindowBox(String s){//構(gòu)造方法

      super(s);tf1 = new TextField(6);tf2 = new JPasswordField(6);

      } box2.add(tf1);

      box2.add(Box.createVerticalStrut(8));box2.add(tf2);

      baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.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 WindowAdapter(){

      public void windowClosing(WindowEvent e){ System.exit(0);} });setBounds(120,125,300,200);setVisible(true);public void actionPerformed(ActionEvent e){ Account act;act=new Account(”000000“,”HuangHuai“,”123456“,50000);//初始化

      /*選擇各種服務(wù)*/

      if(e.getSource()== button1){ String number1,number2;//輸入的兩個(gè)卡號(hào)和密碼的變量 number1=tf1.getText().toString();number2 = new String(tf2.getPassword());

      /*判斷兩次輸入的卡號(hào)和密碼是否正確*/

      if((act.getCode().equals(number1))&&(act.getPassword().equals(num dispose();ber2))){ new Selection(”選擇服務(wù)“,act);}else{

      JOptionPane.showMessageDialog(this, ”密碼或帳號(hào)錯(cuò)誤!“,”賬戶提示信息“,JOptionPane.ERROR_MESSAGE);dispose();

      new WindowBox(”ATM“);} }

      if(e.getSource()==button2){

      System.exit(0);

      dispose();//退出

      } } }

      package cn.com.test;import cn.com.frameui.*;public class ATM { /**

      * 主測(cè)試程序

      * @param args

      */

      public static void main(String[] args){

      new WindowBox(”ATM");} }

      第二篇:java實(shí)訓(xùn) ATM取款機(jī)

      ATM取款機(jī)課程設(shè)計(jì)報(bào)告

      名: 學(xué)

      號(hào): 專

      業(yè): 班

      級(jí):

      ATM取款機(jī) 課程設(shè)計(jì)過程概述

      2009年6月,JAVA游戲開發(fā)課程設(shè)計(jì)在實(shí)驗(yàn)樓三樓機(jī)房進(jìn)行,持續(xù)時(shí)間為兩周。這次課程設(shè)計(jì)的主要目的是結(jié)合面向?qū)ο蟪绦蛟O(shè)計(jì)課程,培養(yǎng)我們面向?qū)ο筌浖_發(fā)的思維,初步了解軟件開發(fā)的一般流程,提高用JAVA編程的實(shí)際動(dòng)手能力并增強(qiáng)大家對(duì)面向?qū)ο蟮牧私?。這次課程設(shè)計(jì)的主要內(nèi)容是獨(dú)立用JAVA語言開發(fā)一個(gè)小的應(yīng)用程序。我開發(fā)了一個(gè)ATM柜員機(jī)。課程設(shè)計(jì)題目描述和基本設(shè)計(jì)要求

      我設(shè)計(jì)的ATM柜員機(jī)主要是由各個(gè)Windows窗口組成,它是由登錄頁面、選擇服務(wù)、取款、查詢余額、修改密碼和退卡等功能。它的各種按鈕的事件和功能可以簡單的模擬ATM柜員機(jī)的要求。系統(tǒng)需求分析 3.1 功能需求分析

      本ATM柜員機(jī)的主要功能如下所述:

      要求使用圖形用戶界面。當(dāng)輸入給定的卡號(hào)和密碼(初始卡號(hào)為000000和密碼為123456)時(shí),系統(tǒng)能登錄ATM柜員機(jī)系統(tǒng),用戶可以按照以下規(guī)則進(jìn)行:

      ? 查詢余額:初始余額為50000元

      ? ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。

      ? ATM存款:不能出現(xiàn)負(fù)存款。

      ? 修改密碼:只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。3.2 其他需求分析

      (1)性能描述

      實(shí)時(shí)性好、靈活性強(qiáng)、易于不同年齡階段的人操作。(2)設(shè)計(jì)約束

      開發(fā)工具:JCrator ProV3.5.0 運(yùn)行環(huán)境:Windows 2000以上 能實(shí)現(xiàn)用戶所定義的各項(xiàng)需求。(3)界面要求

      以Windows窗口形式顯示,標(biāo)題欄為ATM柜員機(jī)名稱,右上角有最小化按鈕、最大化按鈕、關(guān)閉按鈕,不同的窗口中有不同的按鈕和選擇菜單。系統(tǒng)設(shè)計(jì) 4.1 總體設(shè)計(jì)

      我所設(shè)計(jì)的ATM柜員機(jī)主要是由登錄頁面模塊還由選擇服務(wù)模塊組成,其中選擇服務(wù)模塊又由取款模塊、查詢余額模塊、修改密碼模塊、退卡模塊組成。其功能結(jié)構(gòu)圖如下所示:

      圖1

      ATM功能結(jié)構(gòu)示意圖

      4.2 ATM柜員機(jī)界面設(shè)計(jì)

      我覺得一個(gè)系統(tǒng)的界面應(yīng)該要簡單明了,當(dāng)然樣式美觀就更好了。我設(shè)計(jì)的界面主要是由窗體組成,操作簡單。而每一個(gè)窗口則執(zhí)行相應(yīng)的功能。

      一個(gè)系統(tǒng)界面的好壞直接影響到用戶的操作,界面設(shè)計(jì)要求樣式美觀、簡單明了、方便易操作。我設(shè)計(jì)的界面主要分為窗體、菜單、按鈕和文本輸入框幾個(gè)部分,分別執(zhí)行相應(yīng)的操作。

      (1)窗體的設(shè)計(jì)

      窗體整個(gè)框架使用Frame類構(gòu)造,F(xiàn)rame有自己的外邊框和自己的標(biāo)題,創(chuàng)建Frame時(shí)可以指定其窗口標(biāo)題,我創(chuàng)建的窗口標(biāo)題是各個(gè)不同功能的模塊的名字,比如說查詢余額,還有取款等。相應(yīng)源代碼為:WindowBox(String s,Account act){super(“ATM柜員機(jī)”);}、Selection(String s,Account act){ } 向Frame窗口中添加組件使用add()。super(s);

      例如:button1 = new Button(“存款”);

      p1.add(button1);this.add(p1);每個(gè)Frame在其右上角都有三個(gè)控制圖標(biāo),分別代表將窗口最小化、窗口最大化和關(guān)閉的操作,其中最小化和最大化操作Frame可自動(dòng)完成,而關(guān)閉窗口操作實(shí)現(xiàn)需要書寫有關(guān)的代碼,在我的程序中我采用的是對(duì)WINDOWS_CLOSING事件做出響應(yīng),調(diào)用dispose()方法關(guān)閉窗口。Frame也可以引發(fā)WindowsEvent類代表的窗口事件。相應(yīng)源代碼為:

      addWindowListener(new WindowAdapter()//窗口偵聽器,以從此窗口接收窗口事件 {public void windowClosing(WindowEvent e)//處理窗口關(guān)閉事件

      { System.exit(0);} });}(2)窗體的主要結(jié)構(gòu)的設(shè)計(jì)

      我所設(shè)計(jì)的窗口的主要結(jié)構(gòu)的特點(diǎn)就是每個(gè)窗口都對(duì)應(yīng)著一個(gè)特定的功能。比如說報(bào)各種各樣的錯(cuò),還有各種查詢余額、取款、選擇服務(wù)等,所以它們都是由各種按鈕和文本框,標(biāo)簽組成的,而聯(lián)系各個(gè)窗體成為一個(gè)整體的就是各個(gè)按鈕的監(jiān)聽事件。所以整個(gè)設(shè)計(jì)就趨向簡單化了。

      為了定義各個(gè)按鈕所對(duì)應(yīng)的命令和操作,首先需要將各個(gè)按鈕注冊(cè)給實(shí)現(xiàn)了動(dòng)作事件的監(jiān)聽接口ActionListener的監(jiān)聽者,然后為監(jiān)聽者定義actionPerformed(ActionEvent e)方法,在這個(gè)方法中調(diào)用e.getSource()或e.getActionCommand()來判斷用戶點(diǎn)擊的菜單子項(xiàng),并完成這個(gè)菜單子項(xiàng)定義的操作。

      4.3 各功能模塊設(shè)計(jì) 4.3.1 登陸頁面模塊設(shè)計(jì)

      與ATM柜員機(jī)打交道比較多的,也是大家對(duì)安全比較關(guān)心的問題:密碼。所以第一個(gè)界面就是要輸入密碼和卡號(hào)才能繼續(xù)服務(wù)。

      我定義了文本框累的對(duì)象tf1,tf2。抓藥是用于輸入單行的文本;文本區(qū)調(diào)用public

      String getText()方法,獲取用戶想要的字符串。用來判斷輸入的密碼和卡號(hào)是否正確,如果不正確的話,則彈出密碼或卡號(hào)錯(cuò)誤的警告框,并用dispose()關(guān)掉窗口。此模塊相應(yīng)的部分源代碼為:

      public void actionPerformed(ActionEvent e){

      Account act;String card;

      String pwd;

      act=new Account(“000000”,“Devil”,“123456”,50000);//初始化

      /*選擇各種服務(wù)*/ if(e.getSource()== button1){

      String number1,number2;

      number1=tf1.getText();

      number2=tf2.getText();/*判斷密碼和卡號(hào)是否正確*/ if((act.get_Code().equals(number1))&&(act.get_Password().equals(number2))){

      dispose();

      /*卡號(hào)和密碼都正確則進(jìn)入功能選擇窗口*/

      }

      Selection s = new Selection(“選擇服務(wù)”,act);

      }else{

      }

      dispose();

      ErrorWarn ew = new ErrorWarn(“消息!”,act);

      /*退卡*/ if(e.getSource()==button2){

      }

      System.exit(0);dispose();} 4.3.2 選擇服務(wù)模塊設(shè)計(jì)

      在選擇服務(wù)模塊中,有各種ATM的服務(wù)功能,只要用戶在該界面中選擇按鈕,它就會(huì)彈出各個(gè)相應(yīng)的界面。每一個(gè)按鈕都有監(jiān)聽器,在選擇了按鈕后,java.awt.event中的ActionEvent類創(chuàng)建一個(gè)事件對(duì)象,并將它傳遞給方法public void actionPerformed(ActionEvent e)中的參數(shù)e,監(jiān)視器就會(huì)知道所發(fā)生的事件,對(duì)此事件進(jìn)行處理。其中的部分源代碼為:

      p.add(new Label(“請(qǐng)選擇你要的服務(wù)”));

      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(button4);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.addActionListener(this);//setLayout(new GridLayout());setBounds(150,150,200,200);setVisible(true);validate();public void actionPerformed(ActionEvent e){

      if(e.getSource()==button2){//取款

      } if(e.getSource()==button3){//查詢余額

      } else if(e.getSource()==button4){//退出

      } else if(e.getSource()==button5){//修改密碼

      ChangePassword cp = new ChangePassword(“修改密碼”,act);dispose();

      dispose();GetBalance gb = new GetBalance(“取款”,act);

      Query q =new Query(“查詢余額”,act);dispose();System.exit(0);dispose();

      } }

      } 4.3.3 取款模塊設(shè)計(jì)

      在取款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的。用戶在文本框中輸入他想取的數(shù)額,但是必須是100的倍數(shù),而且每一次最多只能取5000塊。當(dāng)然了取款的時(shí)候也不能超過卡里的余額,再就是卡里的余額不可以為負(fù),否則就會(huì)彈出報(bào)錯(cuò)的窗口。其方法為:

      if(e.getSource()==button){

      /*判斷余額是否為負(fù)*/

      if(act.get_Money()<0){

      }

      dispose();

      ErrorWarn4 ew4 = new ErrorWarn4(“消息!”,act);

      /*判斷取款數(shù)額是否小于卡里余額*/ else if(money<=act.get_Money()){

      /*取款的數(shù)額必須是100的倍數(shù)且每次最多只能取5000塊*/

      if((money%100!=0)||(money>=5000)){

      }

      act.set_Balance(money);//重新設(shè)置卡里的余額 this.setVisible(false);

      dispose();

      ErrorWarn6 ew6 = new ErrorWarn6(“消息!”,act);

      /*取款后就再次進(jìn)入選擇界面*/

      Selection s = new Selection(“選擇服務(wù)”,act);

      //dispose();}else if(money>act.get_Money()){

      }

      }

      dispose();

      ErrorWarn5 ew5 = new ErrorWarn5(“消息!”,act);4.3.4 修改密碼模塊設(shè)計(jì)

      在修改密碼模塊中,首先你必須要輸入你的舊密碼是否正確,否則就會(huì)報(bào)錯(cuò)。再一個(gè)就是要兩次輸入你的新密碼,且兩次藥匹配,否則也會(huì)報(bào)錯(cuò),然后再重新回到修改密碼的界面。在修改密碼時(shí)用到的方法為:

      /*判斷舊密碼是是否正確*/ if(pwd2.equals(act.get_Password())){ /*判斷兩次輸入的密碼是否匹配*/ if(pwd3.equals(pwd4)){

      /*如果都正確的話就設(shè)置新密碼*/

      act.setPassword(pwd3);dispose();Selection s = new Selection(“選擇”,act);

      }else{

      dispose();}

      ErrorWarn2 ew2 = new ErrorWarn2(“消息”,act);}else{

      this.setVisible(false);

      }

      ErrorWarn3 ew1 = new ErrorWarn3(“消息”,act);

      dispose();

      4.3.5 退卡模塊設(shè)計(jì)

      在退卡模塊設(shè)計(jì)中,這個(gè)方法就更加的簡單了,它只是用了if(e.getSource()==button4){//退出

      } System.exit(0);dispose();這個(gè)方法就可以實(shí)現(xiàn)了,這里就不再多說了。

      4.4 異常處理情況說明

      (1)打開、保存文件時(shí)的異常處理 需要處理的異常:IOException(2)數(shù)據(jù)庫訪問時(shí)的異常處理 需要處理的異常:SQLException(3)加載類時(shí)的異常處理

      需要處理的異常:ClassNotFindException,當(dāng)應(yīng)用程序試圖使用Class類中的forName方法通過字符串名加載類時(shí),但是沒有找到具有指定名稱的類的定義。

      (4)加載URL時(shí)的異常

      需要處理的異常:MalformedURLException,拋出這一異常指示出現(xiàn)了錯(cuò)誤的 URL?;蛘咴谝?guī)范字符串中找不到任何合法協(xié)議,或者無法分析字符串。系統(tǒng)實(shí)現(xiàn)與測(cè)試

      (1)打開DOS,編譯運(yùn)行程序后,將會(huì)看到如下的界面,如圖2所示。如果輸入的密碼或卡號(hào)不正確的話就會(huì)報(bào)右下圖的錯(cuò)誤。

      圖2 主界面—登陸頁面

      (2)選擇服務(wù)界面效果

      當(dāng)輸入的密碼和卡號(hào)正確,單擊確定后就會(huì)進(jìn)入到選擇服務(wù)的界面,如圖3所示。然后就可以選擇所需要的服務(wù)了。

      圖3 選擇服務(wù)界面

      (3)取款界面,如圖4所示。

      圖4 取款界面

      當(dāng)輸入的錢數(shù)不是100的倍數(shù)或每一次大于5000時(shí)就會(huì)報(bào)圖5的錯(cuò)誤。

      圖5 輸入錯(cuò)誤1 當(dāng)取款時(shí)如果超過卡里的余額的話就會(huì)報(bào)圖6的錯(cuò)誤。

      圖6 輸入錯(cuò)誤2(4)查詢余額界面,如圖7所示。

      圖7 查詢余額界面

      經(jīng)過測(cè)試,所有的功能基本上都實(shí)現(xiàn)了,而且運(yùn)行正常。課程設(shè)計(jì)總結(jié)

      6.1 遇到的問題及解決辦法

      在此次課程設(shè)計(jì)中,我遇到了一些問題,如:對(duì)于面向?qū)ο蟮姆椒私獠粔蛲笍兀\(yùn)用到實(shí)際的軟件開發(fā)中存在著困難;對(duì)于Java語言,只學(xué)習(xí)到了一些最基本的知識(shí),這導(dǎo)致編寫程序時(shí)經(jīng)常出現(xiàn)一些語法錯(cuò)誤,而且要在短時(shí)間內(nèi)用Java語言來設(shè)計(jì)一個(gè)具

      體的系統(tǒng)是一個(gè)較大的挑戰(zhàn);還有對(duì)于正規(guī)開發(fā)一個(gè)系統(tǒng)的流程不熟悉,適應(yīng)起來比較慢,編寫各個(gè)模塊相對(duì)應(yīng)的操作時(shí),自己感覺難以動(dòng)手,這表明所學(xué)的知識(shí)不能靈活運(yùn)用到實(shí)際中。

      對(duì)于以上的問題,自己有清楚的認(rèn)識(shí),解決辦法是需要大量閱讀相關(guān)的書籍,對(duì)于書上以及網(wǎng)站上下載的資料中的Java實(shí)例必須有清楚的理解,還有就是多跟精通此方面的老師和同學(xué)交流,取其精華。對(duì)于實(shí)際動(dòng)手能力與系統(tǒng)開發(fā)的流程的適應(yīng),必須多進(jìn)行實(shí)際的練習(xí)與操作,才能有大的進(jìn)步。

      6.2 心得體會(huì)

      在這次的學(xué)課程設(shè)計(jì)中,我主要運(yùn)用了Java語言的界面設(shè)計(jì)、異常處理、、Awt控件、Swing控件,輸入輸出流等,綜合運(yùn)用了Java語言。我深刻感受到了面向?qū)ο笳Z言中類庫的強(qiáng)大功能,掌握了運(yùn)用Java中的類實(shí)現(xiàn)某些基本功能,并學(xué)會(huì)了自己查詢使用類的方法,為以后的面向?qū)ο笳Z言的自學(xué)奠定了基礎(chǔ)。

      通過這兩個(gè)禮拜的課程設(shè)計(jì)我真的學(xué)到了很多的東西,當(dāng)然這也和我的同學(xué)的幫助是離不開的。好了,下面就談一下我在這些天的體會(huì)吧:

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

      通過將近兩周的努力,這次課程設(shè)計(jì)終于結(jié)束了,在這個(gè)過程當(dāng)中,我學(xué)到了很多的知識(shí),同時(shí)也感謝我的同學(xué)的幫助和指導(dǎo)。在以后的學(xué)習(xí)當(dāng)中,我會(huì)更加努力的學(xué)習(xí)好專業(yè)知識(shí),并將所學(xué)的知識(shí)用于實(shí)踐當(dāng)中去,以便牢固掌握知識(shí)。

      參考文獻(xiàn)

      [1] 王萌,劉婧,來賓著.JAVA程序設(shè)計(jì)[M]北京 冶金工業(yè)出版社,2004 [2] 黃聰明

      精通 JAVA2程序設(shè)計(jì)[M]北京:清華大學(xué)出版社,2004.4 [3] 王文濤,袁海燕 JAVA實(shí)用程序設(shè)計(jì)100例[M]北京:人民郵電出版社,2005.5 [4] 雍俊海 JAVA程序設(shè)計(jì)[M]北京:清華大學(xué)出版社,2006.8 [5] 劉寶林 JAVA程序設(shè)計(jì)與案例[M]北京:高等教育出版社,2006.11 附錄

      import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;import java.io.*;

      /*登陸頁面首窗口*/ class WindowBox extends Frame implements ActionListener{

      Box 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(“請(qǐng)輸入你的卡號(hào)”));//輸入卡號(hào) box1.add(Box.createVerticalStrut(8));box1.add(new Label(“請(qǐng)輸入你的密碼”));//輸入密碼

      } 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.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 WindowAdapter(){

      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);//初始化

      /*選擇各種服務(wù)*/ if(e.getSource()== button1){

      String number1,number2;//輸入的兩個(gè)卡號(hào)和密碼的變量

      number1=tf1.getText();

      number2=tf2.getText();

      /*判斷兩次輸入的卡號(hào)和密碼是否正確*/ if((act.get_Code().equals(number1))&&(act.get_Password().equals(number2))){

      dispose();

      Selection s = new Selection(“選擇服務(wù)”,act);

      }else{

      dispose();

      ErrorWarn ew = new ErrorWarn(“消息!”,act);//報(bào)輸入密碼或卡號(hào)不正確

      } }

      /*主函數(shù)*/ class ATM{

      }

      } if(e.getSource()==button2){

      } System.exit(0);dispose();//退出

      } public static void main(String [] args){ } new WindowBox(“登錄頁面”);/*選擇服務(wù)*/ import java.awt.*;import java.awt.event.*;class Selection extends Frame implements ActionListener{

      Button button1,button2,button3,button4,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 Label(“請(qǐng)選擇你要的服務(wù)”));this.add(p);

      /*各種服務(wù)功能*/ 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(button4);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.addActionListener(this);setBounds(150,150,200,200);setVisible(true);validate();public void actionPerformed(ActionEvent e){

      }

      } if(e.getSource()==button2){//取款

      } if(e.getSource()==button3){//查詢余額

      } else if(e.getSource()==button4){//退出

      } else if(e.getSource()==button5){//修改密碼

      }

      ChangePassword cp = new ChangePassword(“修改密碼”,act);dispose();System.exit(0);dispose();Query q =new Query(“查詢余額”,act);dispose();dispose();GetBalance gb = new GetBalance(“取款”,act);

      /*class Test4{ public 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 extends Frame implements ActionListener{

      Box baseBox, box1,box2;Button button;TextField tf;Account act;GetBalance(String s,Account act){//構(gòu)造函數(shù)

      super(s);this.act=act;button=new Button(“確定”);Panel panel = new Panel();Panel panel1 = new Panel();tf = new TextField(6);this.setLayout(new GridLayout(2,1));panel1.add(new Label(“請(qǐng)輸入你想取錢的數(shù)目”));panel1.add(tf);panel.add(button);this.add(panel1);this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter(){

      });public void windowClosing(WindowEvent e){

      }

      System.exit(0);setBounds(200,200,150,150);this.setVisible(true);

      }

      public void actionPerformed(ActionEvent e){

      于5000

      } //System.out.println(e.getActionCommand());double money;

      money = Double.parseDouble(tf.getText().trim());if(e.getSource()==button){ if(act.get_Money()<0){//判斷余額是否為負(fù)

      dispose();

      ErrorWarn4 ew4 = new ErrorWarn4(“消息!”,act);} else if(money<=act.get_Money()){//取錢的數(shù)額不大于余額 if((money%100!=0)||(money>=5000)){//取錢數(shù)為100的倍數(shù)或不大

      dispose();

      ErrorWarn6 ew6 = new ErrorWarn6(“消息!”,act);

      }

      act.set_Balance(money);//重置余額

      this.setVisible(false);

      Selection s = new Selection(“選擇服務(wù)”,act);//返回選擇服務(wù)窗口

      //dispose();

      }else if(money>act.get_Money()){判斷取款數(shù)額是否大于余額

      dispose();

      ErrorWarn5 ew5 = new ErrorWarn5(“消息!”,act);

      } }

      } /* public static void main(String[] args){

      }

      /*修改密碼功能*/ import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class ChangePassword extends Frame implements ActionListener{

      Panel panel1 = new Panel();Panel panel2 = new Panel();Panel panel3 = new Panel();Panel panel = new Panel();TextField tf4,tf5,tf6;Button button;Account act;ChangePassword(String s,Account act){

      super(s);this.act=act;

      GetBalance test = new GetBalance(“dfdf”);} GetBalance gb = new GetBalance(“取款”);tf4 = new TextField(6);tf5 = new TextField(6);tf6 = new TextField(6);button = new Button(“確定”);

      button.addActionListener(this);/*建立新密碼*/

      } /*判斷事件源,看條件是否成立再修改密碼*/ public void actionPerformed(ActionEvent e){ if(e.getSource()==button){ String pwd2,pwd3,pwd4;

      pwd2 = tf4.getText();

      panel1.add(new Label(“請(qǐng)輸入你的舊密碼:”));panel1.add(tf4);panel2.add(new Label(“請(qǐng)輸入你的新密碼:”));panel2.add(tf5);panel3.add(new Label(“請(qǐng)?jiān)俅屋斎肽愕男旅艽a”));panel3.add(tf6);panel.add(button);this.add(panel1);this.add(panel2);this.add(panel3);this.add(panel);setLayout(new GridLayout(4,1));setBounds(200,200,250,250);this.setVisible(true);/*窗口事件*/ this.addWindowListener(new WindowAdapter(){

      });public void windowClosing(WindowEvent e){

      }

      System.exit(0);

      } }

      pwd3 = tf5.getText();

      pwd4 = tf6.getText();

      } if(pwd2.equals(act.get_Password())){//判斷舊密碼是否正確

      if(pwd3.equals(pwd4)){//判斷兩次輸入的新密碼是個(gè)匹配

      act.setPassword(pwd3);//啟用新的密碼 dispose();Selection s = new Selection(“選擇”,act);//返回選擇服務(wù)窗口

      }else{

      //this.setVisible(true);

      //ErrorWarn2 ew = new ErrorWarn2(“消息”,act);

      dispose();}

      ErrorWarn2 ew2 = new ErrorWarn2(“消息”,act);}else{

      this.setVisible(false);

      }

      ErrorWarn3 ew1 = new ErrorWarn3(“消息”,act);

      dispose();/*查詢余額功能*/ import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class Query extends Frame implements ActionListener{

      //Account act;Button button;Account act;Query(String s,Account act){//構(gòu)造函數(shù)

      } public void actionPerformed(ActionEvent e){ if(e.getSource()==button){ dispose();

      super(s);this.act = act;

      button=new Button(“確定”);//TextField tf = new TextField(6);Panel panel1 = new Panel();Panel panel = new Panel();panel1.add(new Label(“你的余額為: ” + act.get_Money()));//查詢余額的方法 //panel1.add(tf);

      button.addActionListener(this);panel.add(button);this.add(panel);this.add(panel1);this.setLayout(new GridLayout(2,1));this.addWindowListener(new WindowAdapter(){

      });public void windowClosing(WindowEvent e){

      }

      System.exit(0);setBounds(200,200,150,150);setVisible(true);

      }

      } Selection s = new Selection(“選擇服務(wù)”,act);//返回選擇服務(wù)窗口 } /*賬戶*/ import java.io.*;

      /*該類為實(shí)現(xiàn)客戶信息及部分功能*/ class Account { private String code

      =null;

      //信用卡號(hào)

      private String name

      =null;

      //客戶姓名

      private String password=null;

      //客戶密碼

      private double money

      =0.0;

      //卡里金額

      /********************/ public Account(String code,String name,String password,double money){

      this.code=code;

      this.name=name;

      this.password=password;

      this.money=money;}

      public String get_Code(){//取得卡號(hào)

      return code;}

      public String get_Name(){//取得名字

      return name;}

      public String get_Password(){//取得密碼

      return password;}

      public double get_Money(){//取得余額

      return money;}

      /*得到剩余的錢的數(shù)目*/ protected void set_Balance(double mon){

      money-= mon;} /*重置秘密的方法*/ public String setPassword(String pwd){

      } } password = pwd;return password;

      第三篇:ATM自動(dòng)取款機(jī)C++課程設(shè)計(jì)

      C++課程設(shè)計(jì)

      學(xué)校: 惠州學(xué)院

      題目: 設(shè)計(jì)ATM自動(dòng)取款機(jī)系統(tǒng) 系別: 電子科學(xué)系 班級(jí): 11電信2班 學(xué)號(hào): 110703229 姓名: 王志勇

      2014年4月21日

      一、課程設(shè)計(jì)目的及要求

      1.1設(shè)計(jì)目的

      1.提高和加強(qiáng)學(xué)生的計(jì)算機(jī)應(yīng)用與軟件開發(fā)能力,使學(xué)生由初學(xué)者向?qū)I(yè)的程序員過渡。

      2.培養(yǎng)學(xué)生獨(dú)立分析問題、解決問題、查閱資料以及自學(xué)能力,以適應(yīng)計(jì)算機(jī)產(chǎn)業(yè)日新月異發(fā)展的形勢(shì)。

      3.學(xué)習(xí)和掌握礎(chǔ)。C++程序設(shè)計(jì)方法以及上機(jī)調(diào)試技巧,為今后學(xué)習(xí)其它專業(yè)課程打好基

      1.2 ATM自動(dòng)取款機(jī)設(shè)計(jì)要求

      1.實(shí)現(xiàn)ATM取款機(jī)的基本功能,如給用戶提供開戶、查詢余額、取款、修改密碼、吃卡、退出系統(tǒng)等服務(wù),可根據(jù)實(shí)際情況添加(如繳費(fèi)、轉(zhuǎn)賬等服務(wù))。

      2.對(duì)于用戶要求輸入相應(yīng)的帳號(hào)和密碼,如果三次出錯(cuò)則將卡吃掉并打印出相應(yīng)憑條。

      若輸入的取款金額超出賬戶余額,則提示用戶輸入有誤并提供更正功能

      二、課程設(shè)計(jì)具體實(shí)現(xiàn)

      2.1.1總體設(shè)計(jì)

      根據(jù)C++類的基本知識(shí)和類的基本性質(zhì)去實(shí)現(xiàn)ATM自動(dòng)取款機(jī)基本功能;

      ATM自動(dòng)取款系統(tǒng)開戶用戶登錄退出存款取款查詢余額修改密碼轉(zhuǎn)賬退出系統(tǒng)

      2.1.2詳細(xì)設(shè)計(jì)

      1.登陸模塊

      主要完成功能為:當(dāng)用戶開始使用本系統(tǒng),進(jìn)入登陸模塊。屏幕顯示菜單提示,用戶可根據(jù)需要選擇相應(yīng)功能。具體如下:開戶、用戶登錄、退出系統(tǒng);用戶登錄里面還有存款、取款、查詢余額、修改密碼、轉(zhuǎn)賬等功能

      主要適用技術(shù):登陸函數(shù)主要是使用了循環(huán)函數(shù)和do while函數(shù),還有許多的成員函OpenAccount()、SaveMoney()、TakeMoney()、Inquiry()、Changepsw()、Transfer();Menus();關(guān)鍵代碼如下: void main();主函數(shù);

      do{} while(1);//循環(huán)結(jié)構(gòu)語句 switch(i);case 1: default: UserLogin();//用戶登錄界面函數(shù) Menus();//用戶操作函數(shù) bank k;//默認(rèn)構(gòu)造函數(shù) OpenAccount();break;//開戶

      SaveMoney();break;//存款 TakeMoney();break;//取款 Inquiry();break;//查詢余額 Changepsw();break;//修改密碼 Transfer();break;//轉(zhuǎn)賬

      2.開戶模塊

      主要完成功能為:進(jìn)入開戶模塊。屏幕顯示菜單提示,可根據(jù)要求依次輸入姓名、身份證號(hào)、卡號(hào)、密碼和預(yù)存款金額,完成以上操作之后,屏幕上顯示恭喜您,開戶成功;主要適用技術(shù):開戶函數(shù)使用了基本函數(shù);

      主要代碼如下:void OpenAccount()//開戶函數(shù)

      3.存款模塊

      主要完成功能為:當(dāng)開始使用本系統(tǒng),進(jìn)入存款模塊。屏幕顯示菜單提示,根據(jù)要求依 主要使用技術(shù):存款函數(shù)使用了循環(huán)語句函數(shù)、判斷函數(shù)和選擇函數(shù) 主要代碼如下:

      void SaveMoney()//存款函數(shù)

      4.取款模塊

      主要完成功能為:進(jìn)入取款模塊。如果全款金額小于或者等于卡上余額,則取款進(jìn)行,否則重新輸入取款金額。取款成功后顯示卡上余額

      主要適用技術(shù):存款函數(shù)使用了循環(huán)語句函數(shù)、判斷函數(shù)和選擇函數(shù) 主要代碼如下:

      void TakeMoney()//取款函數(shù)

      5.查詢余額

      主要完成功能為:進(jìn)入查詢余額模塊。屏幕顯示菜單提示,屏幕上將顯示你的余額,然后進(jìn)入修改密碼模塊;

      主要適用技術(shù):存款函數(shù)使用了循環(huán)語句函數(shù)、判斷函數(shù)和選擇函數(shù) 主要代碼如下:

      voidInquiry()//查詢余額函數(shù)

      6.修改密碼

      主要完成功能為:進(jìn)入修改密碼模塊。屏幕顯示菜單提示,根據(jù)要求依次輸卡號(hào)和密碼,如果卡號(hào)和原始密碼正確,則將進(jìn)行修改密碼的步驟,先輸入原始密碼,然后再輸入新密碼,之后確認(rèn)新密碼,確認(rèn)正確之后,密碼修改成功,接下來進(jìn)入轉(zhuǎn)賬模塊; 主要適用技術(shù):存款函數(shù)使用了循環(huán)語句函數(shù)、判斷函數(shù)和選擇函數(shù) 主要代碼如下:

      void Changepsw()//修改密碼函數(shù)

      for(int i=1;i<=N;i++)else //循環(huán)結(jié)果語句 exit(1);//結(jié)束函數(shù)

      7.轉(zhuǎn)賬模塊

      主要完成功能為:進(jìn)入轉(zhuǎn)賬模塊。輸入所要轉(zhuǎn)賬的賬號(hào)并輸入轉(zhuǎn)賬金額,如果轉(zhuǎn)賬金額小于余額,轉(zhuǎn)賬成功輸出卡上余額,主要適用技術(shù):存款函數(shù)使用了循環(huán)語句函數(shù)、判斷函數(shù)和選擇函數(shù) 主要代碼如下:

      voidTransfer()//轉(zhuǎn)賬函數(shù)

      8.退出系統(tǒng)模塊

      主要完成功能為:退出ATM自動(dòng)取款系統(tǒng),用條件if(i==7)break;或exist(1)實(shí)現(xiàn)。

      三、源程序代碼

      #include #include #include #include class Bank { public: Bank():cardID(123),SFZ(123),psw(123),money(100){char name[20]=“wangzhiyong”;};

      //默認(rèn)構(gòu)造函數(shù),并初始化

      void UserLogin();

      //用戶登錄聲明

      void OpenAccount();

      //開戶函數(shù)聲明

      void Menus();

      //用戶操作函數(shù)聲明

      void SaveMoney();

      //存款函數(shù)聲明

      void TakeMoney();

      //取款函數(shù)聲明

      void Inquiry();

      //查詢函數(shù)聲明

      void Transfer();

      //轉(zhuǎn)賬函數(shù)聲明

      void Changepsw();

      //修改密碼函數(shù)聲明 private:

      char name[20];

      long cardID;

      double SFZ;

      long psw;

      int money;};void Bank::UserLogin()

      //用戶登錄函數(shù)定義 { long ID;long psw1;cout<>ID;cout<<“請(qǐng)輸入您的密碼:”<>psw1;if(ID==cardID &&psw1==psw){ Menus();} else { cout<<“您的卡號(hào)或者密碼錯(cuò)誤,請(qǐng)重新輸入!”<>ID;cout<<“請(qǐng)重新輸入您的密碼:”<>psw1;} if(ID==cardID &&psw1==psw){ Menus();} else { cout<<“溫馨提示:密碼錯(cuò)誤,卡已被吃掉(打印出憑條,您的卡已經(jīng)暫停一切業(yè)務(wù)):”<

      //用戶操作函數(shù)定義 { int a;do{ cout<<“1.存款n”;cout<<“2.取款n”;cout<<“3.查詢余額n”;cout<<“4.修改密碼n”;cout<<“5.轉(zhuǎn)賬n”;cout<<“6.退出系統(tǒng)n”;cout<<“請(qǐng)輸入您要辦理業(yè)務(wù)的序號(hào):”;cin>>a;switch(a){ case 1: SaveMoney();break;

      case 2: TakeMoney();break;

      case 3:

      Inquiry();break;

      case 4: Changepsw();break;

      case 5: Transfer();break;

      case 6: exit(0);break;

      default:{cout<<“你的輸入有誤,請(qǐng)輸入1-7之間的整數(shù)!n”;} } for(int j=0;j<=20;j++)cout<<“**”;cout<

      { cout<<“歡迎開戶:”<

      cout<<“請(qǐng)輸入您的姓名:”<

      cin>>name;cout<<“請(qǐng)輸入身份證號(hào)碼:”<>SFZ;cout<<“請(qǐng)輸入您的卡號(hào):”<

      號(hào):“<>cardID;cout<<”請(qǐng)輸入您的密碼:“<>psw;cout<<”請(qǐng)輸入您的預(yù)存金額:“<

      //存款

      //取款 //查詢余額

      //修改密碼 //轉(zhuǎn)賬 //退出

      //開戶函數(shù)定義

      //cout<<”請(qǐng)輸入您的卡

      cin>>money;cout<<“恭喜您,開戶成功!”<

      //存款函數(shù)定義

      {int money1;cout<<“歡迎您使用取款業(yè)務(wù)”<>money1;money=money+money1;cout<<“存款成功,卡上余額為:”<

      void Bank::TakeMoney()

      { int money1;cout<<“歡迎您使用取款業(yè)務(wù)n”;cout<<“每次取款不能超過5000元”<>money1;if(money1>5000){ cout<<“每次取款不能超過5000元”<>money1;} if(money>=money1){ money=money-money1;cout<<“取款成功,您卡上余額為:”<

      cout<<“取款金額超出賬戶余額,請(qǐng)重新輸入取款金額:”;cin>>money1;money=money-money1;cout<<“取款成功,您卡上余額為:”<

      義 { cout<<“歡迎進(jìn)行查詢余額業(yè)務(wù)n”;cout<<“卡上余額為:”<

      //取款函數(shù)定義

      //查詢余額函數(shù)定

      void Bank::Transfer()

      //轉(zhuǎn)賬函數(shù)定義 { long ID2;int money1;cout<<“歡迎使用轉(zhuǎn)賬業(yè)務(wù)n”<>ID2;cout<<“請(qǐng)輸入您要轉(zhuǎn)賬的金額:”<>money1;if(money1>5000){ cout<<“每次取款不能超過5000元”<>money1;} if(money>=money1){ money=money-money1;cout<<“轉(zhuǎn)賬成功,您卡上余額為:”<

      cout<<“金額超出賬戶余額,請(qǐng)重新輸入取款金額:”;cin>>money1;money=money-money1;cout<<“轉(zhuǎn)賬成功,您卡上余額為:”<

      修改密碼函數(shù)定義 { long ID;long psw1;long psw2;cout<<“歡迎使用修改密碼業(yè)務(wù)n”<>ID;cout<<“請(qǐng)輸入您的密碼:”<>psw1;if(ID==cardID && psw1==psw){ cout<<“請(qǐng)輸入您的原始密碼:”<

      //

      cin>>psw1;cout<<“請(qǐng)輸入您的新密碼:”<>psw2;cout<<“確認(rèn)新密碼:請(qǐng)重新輸入新密碼:”<>psw2;psw=psw2;cout<<“修改密碼成功!”<>psw1;if(psw1==psw){ cout<<“請(qǐng)輸入您的新密碼:”<>psw2;cout<<“確認(rèn)新密碼:請(qǐng)輸入新密碼:”<>psw2;psw=psw2;cout<<“修改密碼成功!”<

      ICBC

      ”<>i;if(i==3)break;switch(i){ case 1: k.OpenAccount();break;

      case 2: k.UserLogin();break;

      default:{cout<<“你的輸入有誤,請(qǐng)輸入1-3之間的整數(shù)!n”;} } for(int j=0;j<=20;j++)cout<<“**”;cout<

      //開戶函數(shù)調(diào)用//用戶登錄

      四、總結(jié)

      在為期二周的課程設(shè)計(jì)中,我體會(huì)頗多,學(xué)到很多東西,通過完成C++程序設(shè)計(jì)的任務(wù),使我熟練和掌握了這學(xué)期所學(xué)的有關(guān)visual c++6.0中的一些主要知識(shí)點(diǎn)和應(yīng)用點(diǎn),比如面向?qū)ο笾械念惖亩x、類的實(shí)現(xiàn)、對(duì)象的定義、類的繼承、類的多態(tài)性等等;還有面向過程的許多基礎(chǔ)知識(shí),結(jié)構(gòu)體的基本類型,基本應(yīng)用、結(jié)構(gòu)體的堆?;A(chǔ)知識(shí)等等。應(yīng)用程序的設(shè)計(jì)和創(chuàng)建,經(jīng)歷了平時(shí)在課堂中和考試中,決不會(huì)有的重重難題和問題,這些問題,并不是我們平時(shí)只靠課本,就可以輕易解決的。所以,鍛煉了我們面對(duì)難題,自己思索,自己探索,自己查資料發(fā)現(xiàn)問題、解決問題的獨(dú)斷能力。

      時(shí)間總是過得很快,轉(zhuǎn)眼間C++課程設(shè)計(jì)就要結(jié)束了,通過這次課程設(shè)計(jì),我們學(xué)會(huì)了很多,也懂得了很多,知道自己的C++只是哈有很大的提高空間。感謝老師,是您讓我們知道了這些,是您一次次的幫助我們那些被我們收拾的面目全非的程序,讓我們的程序起死回生;感謝老師,是您讓我們看到自己的差距,看到了自己的基礎(chǔ)知識(shí)還很薄弱,還有許多的只是我們還不懂,我們需要再接再厲去提高自己;感謝老師,是您讓我們懂得了原來C++的許多程序原來是很深?yuàn)W很深?yuàn)W的,原來C++的許多程序是可以那樣完成的,還有調(diào)試還可以是以那種形式去調(diào)試的;總之感謝您老師,是我們的C++有了進(jìn)一步的提高,謝謝您老師,你們辛苦了。

      “實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”。沒有實(shí)踐,就不會(huì)發(fā)現(xiàn)和深刻體會(huì)它的真實(shí)所在。只有通過檢驗(yàn)的真理,在自己的心里,才會(huì)認(rèn)可它的真實(shí)性。C++程序設(shè)計(jì)的完成,使我們懂得了真理的重要性,理論和實(shí)際的相結(jié)合,才能真正把握所學(xué)和所掌握的知識(shí)。理論的擁有并不能代表我們的實(shí)力和能力,一切的事件和其成功都是理論和實(shí)踐的結(jié)合。總之,我們學(xué)習(xí)和掌握的知識(shí),只有通過實(shí)際應(yīng)用,才能真正的理解和掌握,才能更好的去應(yīng)用理論的擁有并不能代表我們的實(shí)力和能力,一切的事件和其成功都是理論和實(shí)踐的結(jié)合。我們學(xué)習(xí)和掌握的知識(shí),只有通過實(shí)際應(yīng)用,才能真正的理解和掌握,才能更好的去應(yīng)用。

      第四篇:ATM自助取款機(jī)系統(tǒng)java代碼

      public void actionPerformed(ActionEvent e)

      //界面顯示控制 {

      String IC_Number=“";

      String password=”“;String IC_No=”“;

      z30.setVisible(false);

      float

      leftmoney=0;

      float

      moneys=0;

      float mon=0;

      float money1=0;

      float money2=0;

      if(true)

      {int No_50=0,No_100=0;

      String strin=”select NO_50,NO_100 from ATM ATM_ID='123456789'“;ResultSetrsSQLSelect=executeQuery(strin);try{ if(rsSQLSelect.next())

      {

      No_50=Integer.parseInt(rsSQLSelect.getString(”NO_50“));

      No_100=Integer.parseInt(rsSQLSelect.getString(”NO_100“));

      where

      }

      }

      catch(Exception er){System.out.println(”查詢ATM機(jī)信息出錯(cuò)!“);}

      if(No_50==0&&No_100==0)

      {

      z1.setVisible(false);

      t1.setText(”對(duì)不起,本ATM自動(dòng)取款機(jī)暫停服務(wù)!“);cl.show(c,”1“);

      }

      }

      cl.show(c,”1“);

      if(e.getSource()==z1)

      {

      t3.setText(”“);

      text1.setText(”“);cl.show(c,”2“);

      }

      if(e.getSource()==z4||e.getSource()==z6||e.getSource()==z11||e.getSource()==z16||e.getSource()==z18||e.getSource()==z22)

      { closeDBConnection();cl.show(c,”1“);

      }

      if(e.getSource()==z2)

      { closeDBConnection();System.exit(0);

      }

      if(e.getSource()==z3){ IC_Number=text1.getText().trim();

      if(getname(IC_Number))

      {z5.setVisible(true);

      pw1.setVisible(true);

      t4.setVisible(true);

      pw1.setText(”“);

      t5.setText(”“);cl.show(c,”3“);

      }

      else

      {

      t3.setText(”您輸入的卡號(hào)不存在,請(qǐng)重新輸入!“);cl.show(c,”2“);

      }

      }

      if(e.getSource()==z5){

      password=pw1.getText().trim();IC_Number=text1.getText().trim();

      if(!login(IC_Number,password))

      {

      t5.setText(”您輸入的密碼錯(cuò)誤,請(qǐng)重新輸入!“);

      pw1.setText(”“);

      n--;cl.show(c,”3“);

      }

      else

      {

      t5.setText(”“);cl.show(c,”4“);

      }

      if(n<0)

      {

      n=2;

      t5.setText(”您已經(jīng)三次輸入錯(cuò)誤密碼,謝謝您的使用,歡迎下次光臨!“);

      z5.setVisible(false);

      pw1.setVisible(false);

      t4.setVisible(false);cl.show(c,”3“);

      }

      }

      if(e.getSource()==z7)

      {

      t33.setText(”“);cl.show(c,”5“);

      }

      if(e.getSource()==z8)

      //余額查詢 { DBAccess d=new DBAccess();

      String str3=”“;

      String stri=”“;IC_Number=text1.getText().trim();

      t29.setText(IC_Number);leftmoney=getmoney(IC_Number);

      t30.setText(Float.toString(leftmoney));stri=”select bank_name from IC,bank where IC.bank_NO=bank.bank_NO and IC_ID='“+IC_Number+”'“;ResultSetrsSQLSelect=d.executeQuery(stri);try{

      if(rsSQLSelect.next())

      {

      str3=rsSQLSelect.getString(”bank_name“);

      //d.commit();

      }

      } catch(Exception er){}

      t32.setText(str3);cl.show(c,”10“);

      }

      if(e.getSource()==z9)

      {

      t23.setText(”“);cl.show(c,”9“);

      }

      if(e.getSource()==z10)

      {

      t28.setText(”“);cl.show(c,”11“);

      }

      if(e.getSource()==z12){ DBAccess d=new DBAccess();IC_Number=text1.getText().trim();fetchmoney=Integer.parseInt(text2.getText());

      if(fetchmoney<=0)

      {

      t9.setText(”取款金額非法!請(qǐng)重新輸入!“);

      text2.setText(”“);cl.show(c,”6“);

      return;

      }

      if(fetchmoney>1000)

      {

      t9.setText(”每次交易金額最大為1000元!“);

      text2.setText(”“);cl.show(c,”6“);return;

      }

      if(fetchmoney%50!=0)

      {

      t9.setText(”取款金額只能為50的倍數(shù)!“);

      text2.setText(”“);cl.show(c,”6“);return;

      } leftmoney=getmoney(IC_Number);

      if(fetchmoney>leftmoney)

      {

      t9.setText(”您的余額不足,請(qǐng)重新輸入取款金額!“);

      text2.setText(”“);cl.show(c,”6“);return;

      }

      int No_50=0,No_100=0,x_50=0,x_100=0,mo=0;

      String str1=”select NO_50,NO_100 from ATM where ATM_ID='123456789'“;ResultSetrsSQLSelect=d.executeQuery(str1);try{ if(rsSQLSelect.next())

      {

      No_50=Integer.parseInt(rsSQLSelect.getString(”NO_50“));

      No_100=Integer.parseInt(rsSQLSelect.getString(”NO_100“));

      }

      }

      catch(Exception er){System.out.println(”查詢ATM機(jī)信息出錯(cuò)!“);}

      x_100=fetchmoney/100;

      if(No_100

      { mo=fetchmoney-No_100*100;

      x_50=mo/50;

      if(x_50>No_50)

      {

      t9.setText(”取款機(jī)現(xiàn)鈔不足!“);

      text2.setText(”“);cl.show(c,”6“);

      return;

      }

      else

      {

      No_50=No_50-x_50;

      No_100=0;

      }

      }

      else

      {

      No_100=No_100-x_100;

      x_50=(fetchmoney-x_100*100)/50;

      if(x_50>No_50)

      {

      t9.setText(”取款機(jī)50面值現(xiàn)鈔不足!“);

      text2.setText(”“);cl.show(c,”6“);

      return;

      }

      else

      {No_50=No_50-x_50;}

      }

      String str2=”update ATM set NO_50=“+No_50+” where ATM_ID='“+ATM_id+”'“;

      String str3=”update ATM set NO_100=“+No_100+” where ATM_ID='“+ATM_id+”'“;d.executeUpdate(str2);d.executeUpdate(str3);

      setmoney(fetchmoney,IC_Number);

      t12.setText(Float.toString(fetchmoney));cl.show(c,”7“);

      text2.setText(”");

      第五篇:ATM取款機(jī)常見故障及解決方法

      一、ATM取款機(jī)常見故障及解決方法

      ATM常見故障如能及時(shí)排除,可減少停機(jī)時(shí)間,因此遇到下列故障可按照相應(yīng)步驟處理。

      (一)用戶打印機(jī)問題及處理方法

      1、用戶憑條卡在面板內(nèi)

      (1)檢查憑條出口是否有異物堵塞;

      (2)檢查面板有無受力變形;

      (3)拉出打印機(jī)檢查傳送部分有無異常,推入打印機(jī)重試;

      (4)如仍卡紙, 需進(jìn)行專業(yè)維修。

      2、打印紙堵塞在切紙位置

      (1)松開傳送部件;

      (2)拉動(dòng)藍(lán)色手柄,使打印頭露出;

      (3)清除堵塞的紙;

      (4)查看打印機(jī)控制板上有無黃燈常亮;

      (5)如無,重試打印機(jī);

      (6)如黃燈長亮,需進(jìn)行專業(yè)維修。

      3、憑條雙倍長度

      (1)檢查打印紙上的黑色標(biāo)記是否清晰;

      (2)檢查黑標(biāo)方向是否正確;

      (3)重試,如仍不正常, 需進(jìn)行專業(yè)維修。

      (二)流水打印機(jī)問題及處理方法

      4、打印紙堵塞在切紙位置

      (1)清除堵塞的紙;

      (2)查看打印機(jī)控制板上有無黃燈常亮;

      (3)如無,重試打印機(jī);

      (4)如黃燈長亮,需進(jìn)行專業(yè)維修。

      (三)讀卡機(jī)問題及處理方法

      1、讀卡機(jī)堵塞

      (1)按照關(guān)機(jī)程序關(guān)機(jī);

      (2)取出讀卡機(jī);

      (3)查看讀卡機(jī)內(nèi)有無異物,有則取出;

      (4)開機(jī),執(zhí)行讀卡機(jī)清洗程序;

      (5)重試讀卡機(jī)。

      2、卡不能插入

      (1)按程序關(guān)機(jī);

      (2)取出讀卡機(jī),查看有無異常;

      (3)如流水打印機(jī)上無讀卡機(jī)故障信息,檢查面板插卡口有無異常;

      (4)檢查讀卡機(jī)口有無異常;

      (5)裝回,開機(jī)重試;如仍不正常, 需進(jìn)行專業(yè)維修。

      (四)吐鈔機(jī)問題及處理方法

      1、出鈔不整齊

      (1)拉出吐鈔機(jī),檢查送鈔皮帶是否脫落;

      (2)檢查出鈔口有無異常(如里面低,外面高);

      (3)檢查錢箱內(nèi)錢幣是否整齊;

      (4)重試, 如仍不正常, 需進(jìn)行專業(yè)維修。

      2、只有挖鈔聲,錢不吐出來

      (1)檢查錢箱內(nèi)是否有錢;

      (2)檢查廢鈔箱內(nèi)的錢幣質(zhì)量;

      (3)如上述正常,做加鈔程序中的吐鈔機(jī)診斷;

      (4)如診斷不能通過,將錢箱換一個(gè)通道;

      (5)再做吐鈔機(jī)診斷;

      (6)如仍不正常, 需進(jìn)行專業(yè)維修。

      3、吐鈔機(jī)報(bào)“錢幣堵塞”

      (1)按程序關(guān)機(jī);

      (2)拉出吐鈔機(jī);

      (3)查看有無錢幣卡在上面?zhèn)魉蛶В?/p>

      (4)查看有無錢幣卡在側(cè)面?zhèn)魉蛶В?/p>

      (5)取出錢箱,查看通道內(nèi)有無錢幣堵塞;

      (6)清除堵塞的錢幣;

      (7)重新裝回錢箱,開機(jī)重試;

      (8)如故障依舊,檢查傳感器;

      (9)更換傳感器或進(jìn)行專業(yè)維修。

      4、廢鈔箱卷簾門裂開

      (1)取出廢鈔箱卷簾門;

      (2)如僅前三條裂開,裁下裂開的那條;

      (3)裝回卷簾門,即可;

      (4)如已裁下三條以上,更換。

      (五)其它故障

      1、通訊不通

      (1)按程序關(guān)機(jī);

      (2)檢查通訊線是否插好;

      (3)開機(jī),注意系統(tǒng)上電啟動(dòng)時(shí)有無提示相關(guān)信息;

      (4)請(qǐng)電信局檢查線路;

      (5)進(jìn)行專業(yè)維修。

      2、屏幕無顯示

      (1)關(guān)機(jī);

      (2)檢查顯示信號(hào)線是否接好;

      (3)開機(jī),觀測(cè)是否有系統(tǒng)開機(jī)自檢信息;

      (4)如有,表明硬件無問題,重裝軟件;

      (5)如無, 進(jìn)行專業(yè)維修。

      二、存取款機(jī)常見故障的原因及解決方法

      1、磁條讀寫器吞卡

      磁條讀寫器吞卡是由于以下四種情況造成:

      (1)主機(jī)命令

      (2)彈卡超時(shí)不取走

      (3)用戶操作超時(shí)

      (4)插卡動(dòng)作不當(dāng)造成。

      如果是主機(jī)命令或彈卡超時(shí)造成吞卡,客戶會(huì)得到一張打印的客戶憑條,憑條上有該卡的卡號(hào)和吞卡原因。

      如果是由于插卡動(dòng)作不當(dāng)或操作超時(shí)不取造成吞卡,客戶也同樣能夠得到一張客戶憑條,但該憑條上面沒有卡號(hào)和吞卡原因。

      2、存款模塊回收箱不空

      當(dāng)回收箱不空時(shí),存款交易暫停,以避免其他客戶操作而產(chǎn)生的帳務(wù)不清。以下情況存款進(jìn)入回收箱。

      有識(shí)別不出的鈔票或用戶中途取消操作的情況下,存款退回到入鈔口,如果客戶沒有及時(shí)取走,機(jī)器將把入鈔口上全部鈔票打入回收箱。

      客戶鈔票識(shí)別完畢,提交主機(jī),在等待主機(jī)應(yīng)答超時(shí)的情況下,把客戶提交的存款打入回收箱,其面值總額應(yīng)該與客戶得到的客戶憑條相符。

      3、存款模塊卡鈔票

      當(dāng)鈔票在中途卡住,存鈔模塊停止工作,只有排除故障之后,才能初始化繼續(xù)。當(dāng)卡住鈔票,整個(gè)流水線全部停止。除了在鈔票卡住的部位,請(qǐng)檢查其前后流水線上是否有鈔票在中間。如果有則請(qǐng)旋轉(zhuǎn)綠色旋鈕,把鈔票取出。這時(shí)如果需要繼續(xù)正常使用存款模塊則需要重新啟動(dòng)應(yīng)用,或者清除存款箱。

      4、取款模塊鈔箱安放不當(dāng)

      取款模塊的鈔箱分為兩種,回收箱和出鈔箱,在使用出鈔模塊之前需要對(duì)各出鈔箱進(jìn)行序號(hào)設(shè)置,為鈔箱編號(hào)。以盡量減小鈔箱裝錯(cuò)的可能性。當(dāng)鈔箱安裝沒有到位,或者順序不符,系統(tǒng)能夠檢測(cè)到,并提示取款鈔箱出錯(cuò)。這時(shí)需要重新安裝鈔箱,直到正確為止。

      5、客戶插卡后沒有可做交易

      金庫門打開的情況下,只能進(jìn)行管理員卡類交易。請(qǐng)檢查金庫門是否關(guān)閉好。

      系統(tǒng)只有查詢交易可以進(jìn)行

      系統(tǒng)缺少客戶憑條打印紙,則僅提供查詢服務(wù)。

      6、沒有存款功能

      存款模塊初始化失敗,請(qǐng)擰動(dòng)管理員鑰匙,檢查設(shè)備狀態(tài)。

      存款模塊回收箱中有鈔票,請(qǐng)檢查存款模塊中的回收箱。

      存款功能在系統(tǒng)中沒有設(shè)置,擰動(dòng)管理員鑰匙,修改系統(tǒng)參數(shù)為“存取款”或“僅存款”。

      7、沒有取款功能

      取款模塊初始化失敗。

      鈔箱中鈔票數(shù)量低于最低限制數(shù)量。

      取款功能在系統(tǒng)中沒有設(shè)置,擰動(dòng)管理員鑰匙,修改系統(tǒng)參數(shù)為“存取款”或“僅取款”。

      三、存折補(bǔ)登機(jī)常見故障及處理方法

      (一)存折打印機(jī)故障

      1、磁條讀寫故障,表現(xiàn)為磁條讀寫失敗

      (1)原因分析1:有異物(如紙削)阻塞磁頭的水平移動(dòng)

      解決方法:清除異物

      (2)原因分析2:磁條讀寫磁頭臟

      解決方法:用異丙醇和酒精或隨機(jī)配送的清潔卡清洗磁頭

      (3)原因分析3:打印機(jī)磁道讀寫參數(shù)與軟件系統(tǒng)不匹配

      解決方法:更改打印機(jī)的磁條讀寫參數(shù)或軟件系統(tǒng)參數(shù)

      (4)原因分析4:磁條讀寫電路故障

      解決方法:更換磁條讀寫板

      (5)原因分析5:磁條讀寫機(jī)械部分故障

      解決方法:更換磁條讀寫組件

      2、卡紙(折)、紙(折)進(jìn)出困難或歪斜

      (1)原因分析1:有異物阻塞進(jìn)出紙槽

      解決方法:清除異物

      (2)原因分析2:打印機(jī)機(jī)架故障

      解決方法:調(diào)整機(jī)架

      3、打印機(jī)無打印動(dòng)作,常見故障為放入存折后打印機(jī)無打印動(dòng)作

      (1)原因分析1:存折無補(bǔ)登項(xiàng)目

      解決方法:無需處理

      (2)原因分析2:打印機(jī)通信接口壞

      解決方法:檢查聯(lián)機(jī)電纜是否損壞,如損壞更換之;更換打印機(jī)主板

      (3)原因分析3:主機(jī)網(wǎng)絡(luò)通信故障

      解決方法:檢查網(wǎng)絡(luò)通訊部分

      (4)原因分析4:多用戶卡故障

      解決方法:檢查在Windows系統(tǒng)內(nèi)多用戶卡的IRQ值是否于BIOS設(shè)置值一致(推薦IRQ值取5);更換多用戶卡

      不能進(jìn)折或打印頭撞墻,或者開機(jī)打印頭來回移動(dòng)

      原因分析:由于長時(shí)間使用,灰塵過多造成光電參數(shù)丟失

      解決方法:此時(shí)請(qǐng)?jiān)O(shè)置光電參數(shù)。具體操作如下:

      (1)關(guān)閉電源,打開打印機(jī)的上蓋;

      (2)將打印頭移到打印機(jī)的最左邊;

      (3)按住面板上的三個(gè)鍵,同時(shí)打開電源,機(jī)械動(dòng)作停止后,關(guān)上機(jī)蓋;

      (4)按操作面板上的STATION1鍵兩次,此時(shí)READY燈停止閃爍,并發(fā)出蜂鳴聲;

      (5)在進(jìn)紙器槽中插入一張A4的紙并按一次STATION2鍵;

      (6)當(dāng)打印機(jī)退出紙張后,再插入一張A4紙,打印機(jī)打印出光電參數(shù)值。

      (二)觸摸屏故障

      1、觸摸屏無反映,常見故障為觸摸屏幕鼠標(biāo)無任何反映

      (1)原因分析1:更換、移動(dòng)、插拔觸摸屏的聯(lián)機(jī)接口后會(huì)造成觸摸屏失效,這是由于觸摸屏屬于非即插即用產(chǎn)品,因此硬件上的改變都有可能引起觸摸屏失效

      解決方法:重新安裝觸摸屏驅(qū)動(dòng)程序

      (2)原因分析2:重新安裝、克隆操作系統(tǒng),原因分析如上

      解決方法:同上

      (3)原因分析3:觸摸屏硬件故障

      解決方法:更換觸摸屏控制卡、聯(lián)機(jī)電纜

      2、觸摸屏不靈敏,常見故障為需要大力觸摸才有反映

      原因分析:屏幕灰塵過多,或者有水滴在屏幕上都會(huì)造成不靈敏

      解決方法:清潔屏幕

      觸摸屏觸摸的位置發(fā)生偏移

      解決方法:打開控制面板,調(diào)用校準(zhǔn)程序,根據(jù)提示點(diǎn)擊3個(gè)圓點(diǎn)進(jìn)行校準(zhǔn)

      (二)金屬鍵盤故障

      1、鍵反應(yīng)過靈敏,當(dāng)按下某一數(shù)字鍵時(shí)幕顯示輸入兩個(gè)或多個(gè)相同數(shù)字

      原因分析:在系統(tǒng)里設(shè)置按鍵重復(fù)時(shí)間過短

      解決方法:打開“控制面板”里的“鍵盤”項(xiàng),如圖所示把紅色部分按照?qǐng)D中調(diào)整即可

      2、按鍵經(jīng)常無反應(yīng),常見故障為多個(gè)數(shù)字按鍵無反應(yīng)

      (1)原因分析1:鍵盤使用時(shí)間長,鍵盤膜片失效

      解決方法:更換鍵盤膜片

      (2)原因分析2:鍵盤電纜松脫或者損壞

      解決方法:檢查接口是否松脫,電纜是否損壞,更換故障部分

      3、整個(gè)鍵盤失效

      (1)原因分析1:鍵盤控制板故障

      解決方法:更換鍵盤控制卡

      (2)原因分析2:PC機(jī)的鍵盤PS/2接口壞

      解決方法:更換PC主板

      (三)PC機(jī)及系統(tǒng)其他故障

      1、不能開機(jī)

      (1)原因分析1:PC機(jī)電源壞,常見故障為開機(jī)時(shí)CPU風(fēng)扇不轉(zhuǎn)動(dòng)

      解決方法:更換PC電源

      (2)原因分析2:PC機(jī)主板、CPU、內(nèi)存及其他板卡故障都可能造成不能開機(jī)

      解決方法:用替換法確定損壞部件進(jìn)行更換

      打開主機(jī)電源后PC機(jī)不能自動(dòng)開啟,需手動(dòng)開機(jī)

      原因分析:BIOS中未設(shè)置自動(dòng)上電開機(jī)功能

      解決方法:手動(dòng)開機(jī)進(jìn)入BIOS設(shè)置界面,進(jìn)入“Integrated Peripherals”(整合周邊設(shè)備)設(shè)置項(xiàng),把選項(xiàng)“Power on Function”設(shè)置為“BUTTON ONLY”,把選項(xiàng)“PWRON After PWR-Fail”設(shè)置為“On”。(注:上述操作主要針對(duì)微星的主板MS-6153,其他型號(hào)主板的設(shè)置請(qǐng)參考相應(yīng)主板的說明書)

      2、不能進(jìn)入操作系統(tǒng)或業(yè)務(wù)畫面

      (1)原因分析1:硬盤產(chǎn)生壞區(qū),無法正常啟動(dòng)Windows系統(tǒng)

      解決方法:格式化C盤,重新安裝Windows系統(tǒng)和應(yīng)用程序

      (2)原因分析2:系統(tǒng)中病毒

      解決方法:使用殺毒軟件清除病毒。

      下載ATM取款機(jī)java課程設(shè)計(jì)[合集五篇]word格式文檔
      下載ATM取款機(jī)java課程設(shè)計(jì)[合集五篇].doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        Java期中課程設(shè)計(jì)(ATM機(jī))報(bào)告

        Java期中課程設(shè)計(jì)報(bào)告 報(bào)告題目:ATM模擬程序 姓名: 學(xué)號(hào):2009118246 學(xué)院:信息科學(xué)與技術(shù)學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 一、課程設(shè)計(jì)目的和內(nèi)容 目的:課程設(shè)計(jì)的主要目......

        JAVA課程設(shè)計(jì)報(bào)告ATM存取款系統(tǒng)

        目 錄 1課程設(shè)計(jì)題目描述和基本設(shè)計(jì)要求 ............................................................... 2 系統(tǒng)需求分析 ................................................

        uml 描述ATM自動(dòng)取款機(jī)系統(tǒng)

        ATM自動(dòng)取款機(jī)系統(tǒng) ATM自動(dòng)取款機(jī)(automatic teller machine)是銀行在銀行營業(yè)大廳、超市、商業(yè)機(jī)構(gòu)、機(jī)場(chǎng)、車站、碼頭和鬧市區(qū)設(shè)置的一種小型機(jī)器,利用一張信用卡大小的膠卡......

        農(nóng)村信用社自動(dòng)取款機(jī)(ATM)管理辦法(大全5篇)

        農(nóng)村信用社自動(dòng)取款機(jī)(ATM)管理辦法第一章總則 第一條為規(guī)范泰安市農(nóng)村信用社自助銀行網(wǎng)點(diǎn)(以下簡稱自助銀行)的管理,完善其服務(wù)功能,樹立良好社會(huì)形象;保障自助銀行順利建設(shè)、安全......

        Java課程設(shè)計(jì)

        統(tǒng)一要求: 設(shè)計(jì)成品 (按難度自選一個(gè)到兩個(gè)完成) 可分組或單獨(dú)完成,每組最多兩人,19周前交 1設(shè)計(jì)報(bào)告 (1)本程序的功能描述 (2)程序設(shè)計(jì)思想(數(shù)據(jù)結(jié)構(gòu)和各功能的實(shí)現(xiàn)辦法)......

        JAVA課程設(shè)計(jì)

        JAVA程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 目 錄 一、 項(xiàng)目背景及意義: ............................................... 2 二、 系統(tǒng)描述 ..................................................

        Java課程設(shè)計(jì)

        Java及J2EE課程設(shè)計(jì)題目 1、文件檔案管理 文件檔案管理系統(tǒng)主要對(duì)外來文件、下發(fā)文件和需要抄送的文件進(jìn)行統(tǒng)一管理。劃分為以下三個(gè)模塊:收文管理、發(fā)文管理、抄送文件。 1......

        ATM(自動(dòng)取款機(jī))的用例圖

        ATM(自動(dòng)取款機(jī))的用例圖、類圖、順序圖、狀態(tài)圖、活動(dòng)圖及協(xié)作圖 1 用例圖 參與者"銀行儲(chǔ)戶"和ATM機(jī)。簡化后的ATM機(jī)僅有取款、存款及其余功能。其余功能不做詳細(xì)說明。 銀......