2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p><b>  2 需求分析1</b></p><p>  2.1 任務(wù)和要求1</p><p>  2.2 運(yùn)行環(huán)境1</p><p> 

2、 2.3 開發(fā)工具1</p><p><b>  3 分析和設(shè)計(jì)2</b></p><p>  3.1 系統(tǒng)分析及設(shè)計(jì)思路2</p><p>  3.2 主要類圖2</p><p>  4 具體代碼實(shí)現(xiàn)5</p><p>  5 課程設(shè)計(jì)總結(jié)5</p><p>

3、  5.1 程序運(yùn)行結(jié)果或預(yù)期運(yùn)行結(jié)果16</p><p>  5.2 設(shè)計(jì)結(jié)論16</p><p><b>  參考文獻(xiàn)20</b></p><p><b>  致 謝21</b></p><p><b>  1 前言</b></p><p>

4、;  本次的課程設(shè)計(jì),主要是編寫一個(gè)程序來管理ATM機(jī)模擬系統(tǒng)。ATM機(jī)模擬系統(tǒng)主要是由各個(gè)Windows窗口組成,它是由登錄頁(yè)面、選擇服務(wù)、存款、取款、查詢余額、修改密碼和退卡等功能。它的各種按鈕的事件和功能可以簡(jiǎn)單的模擬ATM機(jī)系統(tǒng)的要求。</p><p><b>  2 需求分析</b></p><p><b>  2.1 任務(wù)和要求</b>

5、;</p><p>  設(shè)計(jì)一個(gè)ATM機(jī)模擬系統(tǒng)。要求:</p><p>  可以登錄ATM柜員機(jī)系統(tǒng),用戶可以按照以下規(guī)則進(jìn)行:查詢余額:初始余額為50000元;ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支;ATM存款:不能出現(xiàn)負(fù)存款;修改密碼:只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。以Windows窗口形式顯示,標(biāo)題

6、欄為ATM機(jī)名稱,右上角有最小化按鈕、最大化按鈕、關(guān)閉按鈕,不同的窗口中有不同的按鈕和選擇菜單。</p><p><b>  2.2 運(yùn)行環(huán)境</b></p><p> ?。?)WINDOWS7/XP系統(tǒng)</p><p> ?。?)myeclipse</p><p><b>  2.3 開發(fā)工具</b&g

7、t;</p><p><b>  Java </b></p><p><b>  3 分析和設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)分析及設(shè)計(jì)思路</p><p>  ATM機(jī)模擬系統(tǒng)主要是由登錄頁(yè)面模塊還由選擇服務(wù)模塊組成,其中選擇服務(wù)模塊又由存款模塊、取款模塊、查詢余額模塊、修改密碼模塊、

8、退卡模塊組成。</p><p>  登錄頁(yè)面模塊:我們對(duì)于ATM機(jī)最關(guān)心的是安全問題,當(dāng)然是密碼,所以第一個(gè)界面就是要輸入密碼和卡號(hào)才能繼續(xù)服務(wù)。首先定義了文本框類的對(duì)象tf1,tf2,用于輸入單行的文本;調(diào)用public String getPassword()方法,獲取用戶想要的字符串;判斷輸入的密碼和卡號(hào)是否正確,如果不正確的話,則彈出密碼或卡號(hào)錯(cuò)誤的警告框,并用dispose()關(guān)掉窗口。定義一個(gè)Acco

9、unt類來實(shí)現(xiàn)這一功能。</p><p>  選擇服務(wù)模塊:在選擇服務(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ì)此事件

10、進(jìn)行處理。定義一個(gè)Selection類來實(shí)現(xiàn)這一功能。其中部分代碼:</p><p>  p.add(new Label("請(qǐng)選擇你要的服務(wù)"));</p><p>  this.add(p);</p><p>  /*各種服務(wù)功能*/</p><p>  buttonCUN = new Button(" 存

11、 款 ");</p><p>  p1.add(buttonCUN);this.add(p1);</p><p>  buttonQU = new Button(" 取 款 ");</p><p>  p2.add(buttonQU);this.add(p2);</p><p>  but

12、tonCHA = new Button(" 查詢余額 ");</p><p>  p3.add(buttonCHA);this.add(p3);</p><p>  buttonGAI = new Button(" 修改密碼 ");</p><p>  p4.add(buttonGAI);this.add(p4);<

13、/p><p>  buttonTUI = new Button(" 退 出 ");</p><p>  p5.add(buttonTUI);this.add(p5);</p><p>  存款模塊:在存款模塊中,有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的。用戶在文本框中輸入他想存的數(shù)額,但是必須是100的倍數(shù)且是正整數(shù)。否則就會(huì)彈出報(bào)錯(cuò)的

14、窗口。定義一個(gè)SetBalance類來實(shí)現(xiàn)這一功能。</p><p>  取款模塊:在取款模塊中,也是有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的。用戶在文本框中輸入他想取的數(shù)額,但是必須是100的倍數(shù),而且每一次最多只能取5000元塊。當(dāng)然了取款的時(shí)候也不能超過卡里的余額,再就是卡里的余額不可以為負(fù),否則就會(huì)彈出報(bào)錯(cuò)的窗口。定義一個(gè)GetBalance類來實(shí)現(xiàn)這一功能。部分代碼為:</p><p&g

15、t;  public String withdrawMoney(double money){</p><p>  String str = null ;</p><p>  if(money<=0){</p><p>  str = "取款數(shù)目須是正數(shù)!";</p><p><b>  }else{<

16、/b></p><p>  if(getMoney()<0){//判斷余額是否為負(fù)</p><p>  str="余額為負(fù)數(shù)!";</p><p>  }else if(money<=getMoney()){</p><p>  if((money%100!=0)||(money>=5000)){/

17、/取錢數(shù)為100的倍數(shù)或不大于5000</p><p>  str= "取款數(shù)目須是一百的整數(shù)倍!";</p><p><b>  }else{</b></p><p>  setBalance(money);</p><p>  str = "取款成功:余額為"+getMoney

18、();</p><p><b>  }</b></p><p>  }else{ str = "余額不足!";</p><p><b>  }</b></p><p><b>  }</b></p><p>  retur

19、n str ;</p><p><b>  }</b></p><p>  查詢余額模塊:,運(yùn)用panel1.add(new Label("你的余額為: " + act.getMoney()));方法來查詢的你余額,余額可以是任何格式的,沒有要求限制。定義了一個(gè)Query類來實(shí)現(xiàn)這一功能。</p><p>  修改密碼模塊:

20、在修改密碼模塊中,首先你必須要輸入你的舊密碼是否正確,否則就會(huì)報(bào)錯(cuò)。再一個(gè)就是要兩次輸入你的新密碼,且兩次要匹配,否則也會(huì)報(bào)錯(cuò),然后再重新回到修改密碼的界面。定義了一個(gè)ChangePassword類,來實(shí)現(xiàn)這一功能。</p><p>  退卡模塊:在退卡模塊設(shè)計(jì)中,只是用了</p><p>  if(e.getSource()==buttonTUI)</p><p>

21、;<b>  {//退出</b></p><p>  System.exit(0);</p><p>  dispose();</p><p><b>  }</b></p><p>  這個(gè)方法就可以實(shí)現(xiàn)了。</p><p><b>  3.2 主要類圖</

22、b></p><p>  圖3.1 ATM機(jī)模擬系統(tǒng)類圖</p><p>  4 具體代碼實(shí)現(xiàn)(主要源代碼)</p><p><b>  Account類</b></p><p>  package com.syxy.kcsj.account;</p><p><b>  /**

23、</b></p><p><b>  * 帳戶</b></p><p>  * 該類為實(shí)現(xiàn)客戶信息及部分功能</p><p><b>  */</b></p><p>  public class Account {</p><p>  private Strin

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

25、;<p>  public Account(){this.code = "123456" ;this.password = "123456" ;}</p><p>  public Account(String code,String name,String password,double money)</p><p>  {

26、this.code=code; this.name=name;</p><p>  this.password=password;this.money=money;}</p><p>  public String getCode() {//取得卡號(hào)return code; }</p><p>  public String getName() {/

27、/取得名字return name;}</p><p><b>  /**</b></p><p><b>  * 取得密碼</b></p><p><b>  * @return</b></p><p><b>  */</b></p>

28、<p>  public String getPassword() {return password;}</p><p><b>  /**</b></p><p><b>  * 重置秘密的方法</b></p><p><b>  */</b></p><p>

29、  public void changePassword(String pwd){password = pwd; }</p><p>  public double getMoney(){//取得余額return money;}</p><p><b>  /**</b></p><p>  * 得到剩余的錢的數(shù)目</p>

30、<p><b>  */</b></p><p>  private void setBalance(double mon) {money -= mon;}</p><p><b>  /**</b></p><p><b>  * 取款設(shè)置</b></p><

31、p><b>  * 若成功顯示余額</b></p><p>  * 不成功顯示提示信息</p><p><b>  */</b></p><p>  public String withdrawMoney(double money){</p><p>  String str = null ;

32、</p><p>  if(money<=0){ str = "取款數(shù)目須是正數(shù)!";</p><p><b>  }else{</b></p><p>  if(getMoney()<0){//判斷余額是否為負(fù)</p><p>  str="余額為負(fù)數(shù)!";<

33、/p><p>  }else if(money<=getMoney()){</p><p>  if((money%100!=0)||(money>5000)){</p><p>  //取錢數(shù)為100的倍數(shù)或不大于5000</p><p>  str= "取款數(shù)目須是一百的整數(shù)倍且不大于5000!";</p

34、><p>  }else{setBalance(money);</p><p>  str = "取款成功:余額為"+getMoney();}</p><p>  }else{ str = "余額不足!"; } }</p><p>  return str ;}</p>

35、;<p><b>  /**</b></p><p><b>  * 存款設(shè)置</b></p><p><b>  * 若成功顯示余額</b></p><p>  * 不成功顯示提示信息</p><p><b>  */</b></p&

36、gt;<p>  public String depositMoney(double money){String str = null ;</p><p>  if((money<0)||(money%100!=0)||(money<=100)){</p><p>  str ="存款數(shù)目須是正數(shù)且是一百的倍數(shù)!";</p>&

37、lt;p>  }else{setBalance(-money);</p><p>  str = "存款成功:余額為"+getMoney();}</p><p>  return str ;}}</p><p>  WindowBox 類</p><p>  package com.syxy.kcsj.W

38、indowBox;</p><p>  import javax.swing.*;</p><p>  import com.syxy.kcsj.Selection.Selection;</p><p>  import com.syxy.kcsj.account.Account;</p><p>  import java.awt.*;&l

39、t;/p><p>  import java.awt.event.*;</p><p><b>  /**</b></p><p><b>  * 登陸頁(yè)面首窗口</b></p><p><b>  */</b></p><p>  @SuppressWar

40、nings("serial")</p><p>  public class WindowBox extends Frame implements ActionListener{</p><p>  Box baseBox,box1,box2; TextField tf1;</p><p>  JPasswordField tf2; Bu

41、tton button1; Button button2;</p><p>  public WindowBox(String s){//構(gòu)造方法</p><p>  super(s); tf1 = new TextField(6); tf2 = new JPasswordField(6);</p><p>  box1= Box.createVe

42、rticalBox();</p><p>  box1.add(new Label("請(qǐng)輸入您的卡號(hào)")); //輸入卡號(hào)</p><p>  box1.add(Box.createVerticalStrut(8));</p><p>  box1.add(new Label("請(qǐng)輸入您的密碼"));//輸入密碼</p&

43、gt;<p>  box2=Box.createVerticalBox();box2.add(tf1);</p><p>  box2.add(Box.createVerticalStrut(8));box2.add(tf2);</p><p>  baseBox=Box.createHorizontalBox();baseBox.add(box1);</p&

44、gt;<p>  baseBox.add(Box.createHorizontalStrut(10)); baseBox.add(box2);</p><p>  add(baseBox);button1= new Button("確定");//加入按鈕</p><p>  button1.addActionListener(this);add(

45、button1);</p><p>  button2 = new Button("退卡");//退卡按鈕button2.addActionListener(this);</p><p>  add(button2);</p><p>  setLayout(new FlowLayout());</p><p><

46、b>  /*監(jiān)聽器*/</b></p><p>  this.addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){</p><p>  System.exit(0);}});</p><p&

47、gt;  setBounds(120,125,300,200);</p><p>  setVisible(true); }</p><p>  public void actionPerformed(ActionEvent e){Account act;</p><p>  act=new Account("000000","k

48、csj","123456",50000);//初始化</p><p>  /*選擇各種服務(wù)*/</p><p>  if(e.getSource() == button1){</p><p>  String number1,number2;//輸入的兩個(gè)卡號(hào)和密碼的變量</p><p>  number1=tf

49、1.getText().toString();</p><p>  number2 = new String(tf2.getPassword()) ;</p><p>  /*判斷兩次輸入的卡號(hào)和密碼是否正確*/</p><p>  if((act.getCode().equals(number1))&&(act.getPassword().eq

50、uals(number2))){</p><p>  dispose();</p><p>  new Selection("選擇服務(wù)",act);</p><p>  }else{JOptionPane.showMessageDialog(this, "密碼或帳號(hào)錯(cuò)誤!","賬戶提示信息",JOption

51、Pane.ERROR_MESSAGE );</p><p>  dispose();new WindowBox("ATM") ;}}</p><p>  if(e.getSource()==button2){</p><p>  System.exit(0); dispose();//退出}} }</p>

52、<p><b>  Query類</b></p><p>  package com.syxy.kcsj.Query;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import com.sun.mail.

53、imap.ACL;</p><p>  import com.syxy.kcsj.Selection.Selection;</p><p>  import com.syxy.kcsj.account.Account;</p><p>  @SuppressWarnings("serial")</p><p>  publ

54、ic class Query extends Frame implements ActionListener{</p><p>  Button button;Account act;</p><p>  public Query(String s,Account act){//構(gòu)造函數(shù)super(s);</p><p>  this.act = act;

55、button=new Button("確定");</p><p>  Panel panel1 = new Panel(); Panel panel = new Panel();</p><p>  panel1.add(new Label("你的余額為:" + act.getMoney()));//查詢余額的方法</p><

56、p>  this.add(panel1); this.add(panel); button.addActionListener(this);</p><p>  panel.add(button);this.setLayout(new GridLayout(2,1));</p><p>  this.addWindowListener(new WindowAdapter()

57、{</p><p>  public void windowClosing(WindowEvent e){</p><p>  System.exit(0);}});</p><p>  setBounds(200,200,200,150); setVisible(true);}</p><p>  public void acti

58、onPerformed(ActionEvent e){</p><p>  if(e.getSource()==button){</p><p>  dispose(); new Selection("選擇服務(wù)",act);//返回選擇服務(wù)窗口</p><p><b>  }} }</b></p>

59、<p>  GetBalance 類</p><p>  package com.syxy.kcsj.GetBalance;</p><p>  import com.syxy.kcsj.Selection.Selection;</p><p>  import com.syxy.kcsj.account.Account;</p><p

60、>  import javax.swing.*;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  @SuppressWarnings("serial")</p><p>  public class GetBalanc

61、e extends Frame implements ActionListener{</p><p>  Box baseBox, box1,box2;</p><p>  Button button;TextField tf; Account act;</p><p>  public GetBalance(String s,Account act){//構(gòu)造

62、函數(shù)</p><p>  super(s); this.act=act; button=new Button("確定");</p><p>  Panel panel = new Panel();Panel panel1 = new Panel();</p><p>  tf = new TextField(6);this.setLay

63、out(new GridLayout(2,1));</p><p>  panel1.add(new Label("請(qǐng)輸入你想取錢的數(shù)目"));</p><p>  panel1.add(tf); panel.add(button);</p><p>  this.add(panel1); this.add(panel);</p

64、><p>  button.addActionListener(this);</p><p>  this.addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){</p><p>  System.exit(0);}

65、});</p><p>  setBounds(200,200,300,200);</p><p>  this.setVisible(true);}</p><p>  public void actionPerformed(ActionEvent e){</p><p>  double money; String str =

66、null ;</p><p><b>  /*</b></p><p><b>  * 取款判定</b></p><p><b>  */</b></p><p>  if(tf.getText().toString().equals("")){</p

67、><p>  str = "取款數(shù)目不能為空!" ;</p><p><b>  }else{</b></p><p>  money = Double.parseDouble(tf.getText().toString());</p><p>  str = act.withdrawMoney(mone

68、y);}</p><p>  JOptionPane.showMessageDialog(this, str,"取款提示信息",JOptionPane.INFORMATION_MESSAGE);</p><p>  dispose();this.setVisible(false);</p><p>  new Selection("

69、選擇服務(wù)",act);} }</p><p>  SetBalance 類</p><p>  package com.syxy.kcsj.SetBalance;</p><p>  import javax.swing.*;</p><p>  import com.syxy.kcsj.Selection.Selection;

70、</p><p>  import com.syxy.kcsj.account.Account;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  @SuppressWarnings("serial")</p>

71、<p>  public class SetBalance extends Frame implements ActionListener{</p><p>  Box baseBox, box1,box2;</p><p>  Button button;TextField tf; Account act;</p><p>  public Set

72、Balance(String s,Account act){//構(gòu)造函數(shù)</p><p>  super(s); this.act=act; button=new Button("確定");</p><p>  Panel panel = new Panel();Panel panel1 = new Panel();</p><p>  

73、tf = new TextField(6); this.setLayout(new GridLayout(2,1));</p><p>  panel1.add(new Label("請(qǐng)輸入你想存款的數(shù)目"));</p><p>  panel1.add(tf); panel.add(button);</p><p>  this.

74、add(panel1);this.add(panel);</p><p>  button.addActionListener(this);</p><p>  this.addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){</p

75、><p>  System.exit(0);}});</p><p>  setBounds(200,200,300,200);</p><p>  this.setVisible(true);}</p><p>  public void actionPerformed(ActionEvent e){</p><p&

76、gt;  double money;</p><p>  String str = null ;</p><p>  if(tf.getText().toString().equals("")){</p><p>  str = "存款數(shù)目不能為空!" ;</p><p><b>  }els

77、e{</b></p><p>  money = Double.parseDouble(tf.getText().toString());</p><p>  str = act.depositMoney(money) ;}</p><p>  JOptionPane.showMessageDialog(this, str,"存款提示信息&

78、quot;,JOptionPane.INFORMATION_MESSAGE );</p><p>  dispose();this.setVisible(false); new Selection("選擇服務(wù)",act);</p><p><b>  }</b></p><p><b>  }</

79、b></p><p>  Selection 類</p><p>  package com.syxy.kcsj.Selection;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import com.syxy

80、.kcsj.GetBalance.GetBalance;</p><p>  import com.syxy.kcsj.Query.Query;</p><p>  import com.syxy.kcsj.SetBalance.SetBalance;</p><p>  import com.syxy.kcsj.account.Account;</p>

81、<p>  import com.syxy.kcsj.frameui.ChangePassword;</p><p>  @SuppressWarnings("serial")</p><p>  public class Selection extends Frame implements ActionListener{</p><p

82、>  Button buttonCUN,buttonQU,buttonCHA,buttonTUI,buttonGAI;</p><p>  Panel p1 = new Panel();Panel p2 = new Panel();</p><p>  Panel p3 = new Panel();Panel p4 = new Panel();</p><p&

83、gt;  Panel p5 = new Panel();Panel p = new Panel();</p><p>  Account act;</p><p>  public Selection(){}</p><p>  public Selection(String s,Account act){</p><p>  super(

84、s); this.act=act; this.setLayout(null);</p><p>  this.setLayout(new GridLayout(6,1));</p><p>  p.add(new Label("請(qǐng)選擇你要的服務(wù)"));</p><p>  this.add(p);</p><p>

85、;  /*各種服務(wù)功能*/</p><p>  buttonCUN = new Button(" 存 款 ");</p><p>  p1.add(buttonCUN); this.add(p1);</p><p>  buttonQU = new Button(" 取 款 ");</p

86、><p>  p2.add(buttonQU);this.add(p2);</p><p>  buttonCHA = new Button(" 查詢余額 ");</p><p>  p3.add(buttonCHA);this.add(p3);</p><p>  buttonGAI = new Button(&q

87、uot; 修改密碼 ");</p><p>  p4.add(buttonGAI);this.add(p4);</p><p>  buttonTUI = new Button(" 退 出 ");</p><p>  p5.add(buttonTUI);this.add(p5);</p><p&

88、gt;  this.addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){</p><p>  System.exit(0);}});</p><p>  buttonCUN.addActionListener(this);<

89、/p><p>  buttonQU.addActionListener(this);</p><p>  buttonCHA.addActionListener(this);</p><p>  buttonTUI.addActionListener(this);</p><p>  buttonGAI.addActionListener(thi

90、s);</p><p>  setBounds(150,150,300,200);</p><p>  setVisible(true);</p><p>  validate();}</p><p>  public void actionPerformed(ActionEvent e){</p><p>  if

91、(e.getSource()==buttonCUN){//存款</p><p>  dispose() ;new SetBalance("存款",act);</p><p>  }else if(e.getSource()==buttonQU){//取款</p><p>  dispose();new GetBalance("取

92、款",act);</p><p>  }else if(e.getSource()==buttonCHA){//查詢余額</p><p>  dispose();new Query("查詢余額",act);</p><p>  }else if(e.getSource()==buttonGAI){//修改密碼</p>

93、<p>  dispose();new ChangePassword("修改密碼",act);</p><p>  }else if(e.getSource()==buttonTUI){//退出</p><p>  System.exit(0);dispose();}} </p><p><b>  }<

94、;/b></p><p>  ChangePassword類</p><p>  package com.syxy.kcsj.frameui;</p><p>  import javax.swing.*;</p><p>  import com.syxy.kcsj.Selection.Selection;</p>&l

95、t;p>  import com.syxy.kcsj.account.Account;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  @SuppressWarnings("serial")</p><p>  pub

96、lic class ChangePassword extends Frame implements ActionListener{</p><p>  Panel panel1 = new Panel();Panel panel2 = new Panel();</p><p>  Panel panel3 = new Panel();Panel panel = new Panel();

97、</p><p>  JPasswordField tf4,tf5,tf6;Button button;Account act;</p><p>  public ChangePassword(String s,Account act){</p><p>  super(s);this.act=act;tf4 = new JPasswordField(

98、6);</p><p>  tf5 = new JPasswordField(6); tf6 = new JPasswordField(6);</p><p>  button = new Button("確定");button.addActionListener(this);</p><p><b>  /*建立新密碼*/&l

99、t;/b></p><p>  panel1.add(new Label("請(qǐng)輸入你的舊密碼:"));panel1.add(tf4);</p><p>  panel2.add(new Label("請(qǐng)輸入你的新密碼:"));panel2.add(tf5);</p><p>  panel3.add(new Labe

100、l("請(qǐng)?jiān)俅屋斎胄旅艽a:"));panel3.add(tf6);</p><p>  panel.add(button);this.add(panel1);</p><p>  this.add(panel2);this.add(panel3);this.add(panel);</p><p>  setLayout(new Gr

101、idLayout(4,1));</p><p>  setBounds(200,200,300,200);this.setVisible(true);</p><p>  /*** 窗口事件, 判斷窗口是否關(guān)閉*/</p><p>  this.addWindowListener(new WindowAdapter(){</p><p> 

102、 public void windowClosing(WindowEvent e){</p><p>  System.exit(0);}}); }</p><p>  /*** 判斷事件源,看條件是否成立再修改密碼*/</p><p>  public void actionPerformed(ActionEvent e){</p>&

103、lt;p>  if(e.getSource()==button){</p><p>  String pwd2,pwd3,pwd4,pwd1;char [] p2,p3,p4;</p><p>  pwd1 = act.getPassword();p2=tf4.getPassword();</p><p>  p3=tf5.getPassword();

104、 p4=tf6.getPassword();</p><p>  pwd2 = new String(p2); pwd3 = new String(p3); pwd4 = new String(p4);</p><p>  if(pwd2.equals(pwd1)){</p><p>  if(pwd3.equals(pwd4)){//判斷兩次輸入的新密碼是

105、個(gè)匹配</p><p>  act.changePassword(pwd3);//啟用新的密碼</p><p>  dispose();</p><p>  JOptionPane.showMessageDialog(this, "修改密碼成功!");</p><p>  new Selection("選擇&qu

106、ot;,act);//返回選擇服務(wù)窗口</p><p><b>  }else{</b></p><p>  this.setVisible(true); dispose();</p><p>  JOptionPane.showMessageDialog(this, "兩次輸入要修改的密碼不同,更新密碼失敗!");

107、</p><p>  new Selection("選擇",act);} </p><p><b>  }else{</b></p><p>  this.setVisible(false);dispose();</p><p>  JOptionPane.showMessageDialog

108、(this, "輸入密碼錯(cuò)誤,更新密碼失敗!"); </p><p>  new Selection("選擇",act); } </p><p><b>  }</b></p><p><b>  } </b></p><p><b>

109、;  }</b></p><p><b>  ATM類</b></p><p>  package com.syxy.kcsj.WindowBox;</p><p>  public class ATM {</p><p><b>  /**</b></p><p&g

110、t;<b>  * 主測(cè)試程序</b></p><p>  * @param args</p><p><b>  */</b></p><p>  public static void main(String[] args) {</p><p>  new WindowBox("ATM&

111、quot;);</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  5 課程設(shè)計(jì)總結(jié)</b></p><p>  5.1 程序運(yùn)行結(jié)果或預(yù)期運(yùn)行結(jié)果</p><p>  1、輸入的密碼或卡號(hào)不

112、正確的話就會(huì)報(bào)下圖的錯(cuò)誤。</p><p>  2、輸入的密碼和卡號(hào)正確,單擊確定后就會(huì)進(jìn)入到選擇服務(wù)的界面</p><p>  3、當(dāng)輸入的錢數(shù)不是100的倍數(shù)且不是正整數(shù)時(shí)就會(huì)出錯(cuò)誤。</p><p><b>  4、取款界面</b></p><p>  當(dāng)輸入的錢數(shù)不是100的倍數(shù)或每一次大于5000時(shí)就會(huì)報(bào)錯(cuò)誤&

113、lt;/p><p><b> ?。?、余額查詢界面</b></p><p><b>  修改密碼界面</b></p><p><b>  5.2 設(shè)計(jì)結(jié)論</b></p><p>  在本次課程設(shè)計(jì)中,我對(duì)Java語言的界面設(shè)計(jì)、Awt控件、Swing控件,輸入輸出流等有一定的認(rèn)識(shí),

114、綜合運(yùn)用了Java語言。我深刻感受到了面向?qū)ο笳Z言中類庫(kù)的強(qiáng)大功能,掌握了運(yùn)用Java中的類實(shí)現(xiàn)某些基本功能,并學(xué)會(huì)了自己查詢使用類的方法,為以后的面向?qū)ο笳Z言的自學(xué)奠定了基礎(chǔ)。</p><p>  這次的課程設(shè)計(jì)我已基本完成自己所設(shè)想的要求,但是在本次課程中,我遇到了很多的困難:比如在存款的時(shí)候能夠存負(fù)數(shù)和不是一百的倍數(shù);在取款的界面沒有標(biāo)題;取款最大值不能超過五千;在畫類圖的時(shí)候并不知道一個(gè)父類可以被多個(gè)子類

115、繼承;在編寫代碼的時(shí)候這些小問題都沒有考慮到,但經(jīng)過仔細(xì)的檢查,上網(wǎng)查閱資料,查詢過去的書籍,室友和同學(xué)的幫助,終于將這些小問題解決了。導(dǎo)致這些原因的出現(xiàn),是因?yàn)橐郧皩W(xué)的知識(shí)不扎實(shí),還有些知識(shí)我們都是沒有學(xué)過的,還有自己不仔細(xì)。</p><p>  通過將近兩周的努力,這次課程設(shè)計(jì)終于結(jié)束了,在這個(gè)過程當(dāng)中,我學(xué)到了很多的知識(shí),同時(shí)也感謝老師同學(xué)的幫助和指導(dǎo)。在以后的學(xué)習(xí)當(dāng)中,我會(huì)更加努力的學(xué)習(xí)好專業(yè)知識(shí),并將所

116、學(xué)的知識(shí)用于實(shí)踐當(dāng)中去,以便牢固掌握知識(shí)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 王萌,劉婧,來賓著.JAVA程序設(shè)計(jì)[M]北京 冶金工業(yè)出版社,2004</p><p>  [2] 黃聰明 精通 JAVA2程序設(shè)計(jì)[M]北京:清華大學(xué)出版社,2004.4</p><p>  [3]

117、 王文濤,袁海燕 JAVA實(shí)用程序設(shè)計(jì)100例[M]北京:人民郵電出版社,2005.5</p><p>  [4] 雍俊海 JAVA程序設(shè)計(jì)[M]北京:清華大學(xué)出版社,2006.8</p><p>  [5] 劉寶林 JAVA程序設(shè)計(jì)與案例[M]北京:高等教育出版社,2006.11</p><p><b>  致 謝</b></p>

118、;<p>  這次實(shí)驗(yàn)得以圓滿完成,沒有老師的督導(dǎo),同學(xué)的支持,室友的鼓勵(lì),要想完成這次實(shí)驗(yàn)是難以想象的。</p><p>  在這次設(shè)計(jì)過程中,體現(xiàn)出自己?jiǎn)为?dú)設(shè)計(jì)能力以及綜合運(yùn)用知識(shí)的能力,體會(huì)了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。</p><p>  在這里首先我要感謝的是我的指導(dǎo)老師**老師,老師平日里工作繁多,但在

119、我們做程序設(shè)計(jì)時(shí),她對(duì)我們程序的細(xì)心認(rèn)真的輔導(dǎo),耐心的教我們?nèi)绾螌懗绦驁?bào)告。讓我對(duì)java程序設(shè)計(jì)課程設(shè)這門課程也越來越了解,越來越感興趣了。除了敬佩**老師的專業(yè)水平外,她的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。</p><p>  其次我要感謝所有幫助過我的人以及我的隊(duì)友們,衷心的感謝你們給予我無私的幫助,如果沒有你們的幫助,要想完成這次實(shí)驗(yàn)是有困難的。</p&g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論