銀行賬戶管理系統(tǒng)-課程設(shè)計(jì)報(bào)告_第1頁(yè)
已閱讀1頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì)</p><p>  課程設(shè)計(jì)名稱: java課程設(shè)計(jì) </p><p>  專 業(yè) 班 級(jí) : 計(jì)科13級(jí)03班 </p><p>  學(xué) 生 姓 名 : </p><p>  學(xué) 號(hào) :

2、 </p><p>  指 導(dǎo) 教 師 : </p><p>  課程設(shè)計(jì)時(shí)間: 2015.6.22-2015.7.3 </p><p>  計(jì)算機(jī)科學(xué)技術(shù) 專業(yè)課程設(shè)計(jì)任務(wù)書(shū)</p><p><b>  銀行帳戶管理系統(tǒng)</b></p><p&g

3、t;<b>  一、需求分析</b></p><p>  銀行賬戶管理系統(tǒng)中,主要有以下功能:</p><p>  1.添加賬戶:主要增加賬戶的賬號(hào),姓名,類型以及所存的金額。</p><p>  2.登陸賬戶:根據(jù)輸入的賬號(hào)以及密碼,驗(yàn)證判斷其賬戶的類型以進(jìn)行操作。</p><p>  3.存款:輸入賬號(hào),并向該賬號(hào)存

4、錢(qián)。</p><p>  4.取款:輸入賬號(hào)和密碼,根據(jù)不同類型的賬戶進(jìn)行取款或者透支取款。</p><p>  5.轉(zhuǎn)賬:輸入賬號(hào)和密碼,并向另外一個(gè)存在的賬號(hào)轉(zhuǎn)賬。</p><p>  6.查詢賬戶余額:根據(jù)輸入的賬號(hào)和密碼,查詢并顯示出該賬戶的剩余金額。</p><p><b>  二、概要設(shè)計(jì)</b></p

5、><p>  圖1 系統(tǒng)模塊流程圖</p><p>  三、運(yùn)行環(huán)境、開(kāi)發(fā)語(yǔ)言</p><p>  運(yùn)行環(huán)境:Windows 8.1,DOS,Eclipse</p><p><b>  開(kāi)發(fā)語(yǔ)言:Java</b></p><p><b>  四、詳細(xì)設(shè)計(jì)</b></p>

6、;<p><b>  1 程序清單</b></p><p><b>  表1 ATM類</b></p><p><b>  表2 Bank類</b></p><p>  表3 SavingAccount類</p><p>  表4 CresitAccount類&l

7、t;/p><p>  表5 Account類</p><p><b>  2 主要代碼</b></p><p><b>  2.1 ATM類</b></p><p>  進(jìn)入銀行賬戶管理系統(tǒng),進(jìn)行操作。</p><p>  圖2:銀行賬戶管理系統(tǒng)主界面</p>&l

8、t;p>  import java.io.BufferedReader;</p><p>  import java.io.BufferedWriter;</p><p>  import java.io.File;</p><p>  import java.io.FileReader;</p><p>  import java.i

9、o.FileWriter;</p><p>  import java.util.Properties;</p><p>  import java.util.Scanner;</p><p>  public class ATM {</p><p><b>  //屬性</b></p><p>

10、  private Bank bank;</p><p><b>  //構(gòu)造函數(shù)</b></p><p>  public ATM() {</p><p>  bank = new Bank();</p><p><b>  }</b></p><p><b> 

11、 //main方法</b></p><p>  public static void main(String[] args){</p><p>  ATM atm = new ATM();//實(shí)例化ATM</p><p>  Bank bank = atm.bank;</p><p>  //標(biāo)號(hào),判斷是否退出一級(jí)菜單</p

12、><p>  boolean firstFlag = true;</p><p>  while(firstFlag)</p><p><b>  {//一級(jí)菜單</b></p><p>  System.out.println("******歡迎使用XXX銀行模擬ATM系統(tǒng),請(qǐng)按如下步驟操作******&quo

13、t;);</p><p>  System.out.println(" *1.用已有賬戶登錄");</p><p>  System.out.println(" *2.沒(méi)有賬戶,開(kāi)戶");</p><p>  System.out.println(" *3.退出");</p>

14、<p>  Scanner scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)選擇:");</p><p><b>  try {</b></p><p>  int choice1 = scanner.nextInt();</p&

15、gt;<p>  switch(choice1)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print(&

16、quot;請(qǐng)輸入銀行卡號(hào):");</p><p>  long id = scanner.nextInt();</p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入銀行密碼:");</p><p>  String

17、password = scanner.next();</p><p>  Account account = bank.verifyAccount(id, password);</p><p>  if(account != null)</p><p>  {//標(biāo)號(hào),判斷是否退出二級(jí)菜單</p><p>  boolean secondF

18、lag = true;</p><p>  while(secondFlag)</p><p><b>  {//二級(jí)菜單</b></p><p>  System.out.println("******歡迎使用XXX銀行模擬ATM系統(tǒng),請(qǐng)按如下步驟操作******");</p><p>  Sys

19、tem.out.println(" *1.查詢賬戶余額");</p><p>  System.out.println(" *2.存款");</p><p>  System.out.println(" *3.取款");</p><p>  Sys

20、tem.out.println(" *4.轉(zhuǎn)賬");</p><p>  System.out.println(" *5.退卡");</p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print("

21、請(qǐng)選擇:");</p><p><b>  try {</b></p><p>  int choice2 = scanner.nextInt();</p><p>  switch(choice2)</p><p><b>  {</b></p><p><

22、b>  case 1:</b></p><p>  System.out.println("您賬戶的當(dāng)前余額為:"+account.getBalance());</p><p><b>  break;</b></p><p><b>  case 2:</b></p>

23、<p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入您的存款金額:");</p><p>  double money1 = scanner.nextDouble();</p><p>  bank.deposit(account, money1)

24、;</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入您的取款金額:");&l

25、t;/p><p>  double money2 = scanner.nextDouble();</p><p>  bank.withdraw(account, money2);</p><p><b>  break;</b></p><p><b>  case 4:</b></p>

26、<p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入您要轉(zhuǎn)入賬戶的卡號(hào):");</p><p>  long id2 = scanner.nextLong();</p><p>  Account account2 = bank.verifyAc

27、count(id2);</p><p>  if(account2 != null)</p><p><b>  {</b></p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入您要轉(zhuǎn)入賬戶的金額:");

28、</p><p>  double money = scanner.nextLong();</p><p>  if(money <= account.balance)</p><p><b>  {</b></p><p>  bank.transferAccount(account, account2, mon

29、ey);</p><p>  System.out.println("轉(zhuǎn)賬成功?。。?quot;);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>

30、  System.out.println("抱歉,您賬戶沒(méi)有足夠的金額!請(qǐng)查看后重新選擇輸入!");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b&g

31、t;  {</b></p><p>  System.out.println("抱歉,沒(méi)有找到您要轉(zhuǎn)入的賬戶信息!請(qǐng)核對(duì)后重新選擇輸入!");</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>

32、  case 5:</b></p><p>  secondFlag = false;</p><p><b>  break;</b></p><p><b>  default:</b></p><p>  System.out.println("沒(méi)有該選項(xiàng),請(qǐng)重新選擇!&

33、quot;);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  System.out.println("選擇輸入不合法,請(qǐng)重新選擇!");</p

34、><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p&g

35、t;<p>  System.out.println("沒(méi)有此賬戶,請(qǐng)先開(kāi)戶!");</p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 2://賬號(hào)id由銀行自動(dòng)提供(從1001遞增)</p><p&

36、gt;  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入賬戶密碼:");</p><p>  String passwd1 = scanner.next();</p><p>  scanner = new Scanner(System.in);</p>

37、;<p>  System.out.print("請(qǐng)?jiān)佥斎胭~戶密碼:");</p><p>  String passwd2 = scanner.next();</p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入戶主姓名:&

38、quot;);</p><p>  String name = scanner.next();</p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入戶主身份證號(hào)碼:");</p><p>  String personId =

39、 scanner.next();</p><p>  scanner = new Scanner(System.in);</p><p>  System.out.print("請(qǐng)輸入賬戶類型(0儲(chǔ)蓄,1信用):");</p><p>  int type = scanner.nextInt();</p><p>  ba

40、nk.openAccount(passwd1, passwd2, name, personId, type);</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  bank.saveAccountDate();</p><p> 

41、 firstFlag = false;</p><p><b>  break;</b></p><p><b>  default :</b></p><p>  System.out.println("沒(méi)有該選項(xiàng),請(qǐng)重新選擇!");</p><p><b>

42、;  break;</b></p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  System.out.println("選擇輸入不合法,請(qǐng)重新選擇!");</p><p><b>  }</b>

43、;</p><p><b>  }</b></p><p>  System.out.println("謝謝使用!");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>

44、;  2.2 Bank類</b></p><p>  對(duì)系統(tǒng)添加新賬戶,登陸已有賬戶,進(jìn)行操作。</p><p>  圖3 添加或登陸賬戶頁(yè)面</p><p>  import java.io.BufferedReader;</p><p>  import java.io.BufferedWriter;</p>&

45、lt;p>  import java.io.File;</p><p>  import java.io.FileNotFoundException;</p><p>  import java.io.FileReader;</p><p>  import java.io.FileWriter;</p><p>  import ja

46、va.io.IOException;</p><p>  import java.util.Properties;</p><p>  public class Bank {</p><p>  private Account[] accounts = new Account[20];</p><p>  private int number

47、;//賬戶數(shù)目</p><p>  private int id = 1001;//確定銀行賬號(hào)從1001開(kāi)始生成,即第一個(gè)賬戶的賬號(hào)是1001</p><p><b>  //構(gòu)造函數(shù)</b></p><p>  public Bank(){ </p><p>  accounts=new Account[20];//

48、以后不足時(shí)擴(kuò)容。</p><p>  number = 0;</p><p>  BufferedReader bufReader = null;</p><p>  Properties props=System.getProperties();</p><p>  String path=props.getProperty("u

49、ser.dir");</p><p><b>  try {</b></p><p>  bufReader=new BufferedReader(new FileReader(new File(path,"account.txt")));</p><p>  String s = bufReader.readLi

50、ne();</p><p>  while(s != null){</p><p>  String[] str = s.split(",");</p><p>  if(str[4].equals("0"))</p><p><b>  {</b></p><

51、p>  Account savingAcc = new SavingAccount(Long.parseLong(str[0]),</p><p>  str[1].toString(), str[2].toString(),</p><p>  str[3].toString(),Integer.parseInt(str[4]),</p><p>  Dou

52、ble.parseDouble(str[5]));</p><p>  accounts[number] = savingAcc;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

53、<p>  Account creditAcc = new CreditAccount(Long.parseLong(str[0]),</p><p>  str[1].toString(), str[2].toString(),</p><p>  str[3].toString(),Integer.parseInt(str[4]),</p><p>

54、  Double.parseDouble(str[5]),5000);</p><p>  accounts[number] = creditAcc;</p><p><b>  }</b></p><p>  number ++;</p><p><b>  id++;</b></

55、p><p>  s = bufReader.readLine();</p><p><b>  }</b></p><p>  } catch (NumberFormatException e) {</p><p>  // TODO Auto-generated catch block</p><p&g

56、t;  e.printStackTrace();</p><p>  } catch (FileNotFoundException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p>  } catch (IOExce

57、ption e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p><b>  try {</b></p>

58、<p>  if(bufReader != null)</p><p><b>  {</b></p><p>  bufReader.close();</p><p><b>  }</b></p><p>  } catch (IOException e) {</p>&

59、lt;p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

60、/p><p>  //getXxx,setXxx</p><p>  public Account[] getAccounts() {</p><p>  return accounts;</p><p><b>  }</b></p><p>  public void setAccounts(Ac

61、count[] accounts) {</p><p>  this.accounts = accounts;</p><p><b>  }</b></p><p>  public int getNumber() {</p><p>  return number;</p><p><b

62、>  }</b></p><p>  public void setNumber(int number) {</p><p>  this.number = number;</p><p><b>  }</b></p><p>  public int getId() {</p><

63、;p>  return id;</p><p><b>  }</b></p><p>  public void setId(int id) {</p><p>  this.id = id;</p><p><b>  }</b></p><p><b>

64、  /**</b></p><p><b>  * 開(kāi)戶</b></p><p><b>  */</b></p><p>  public Account openAccount(String passwd1, String passwd2, String name, </p><p>

65、;  String personId, int type){</p><p><b>  //創(chuàng)建一個(gè)新賬戶</b></p><p>  Account account = null;</p><p>  //判斷兩次密碼是否一致</p><p>  if(passwd1.equals(passwd2)){</p&

66、gt;<p>  //若一致,再判斷賬戶類型(根據(jù)type的值)</p><p>  if(type == 1){</p><p>  //可令開(kāi)始余額為10,信用額度為5000</p><p>  account = new CreditAccount(id, passwd1, name, personId, type, 10, 5000);<

67、/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  account = new SavingAccount(id, passwd1, name, personId, type, 10);&l

68、t;/p><p><b>  }</b></p><p>  //將賬戶存入賬戶數(shù)組accounts[]中</p><p>  //判斷是否超出存儲(chǔ)空間</p><p>  if(number >= accounts.length)</p><p><b>  {//擴(kuò)容</b

69、></p><p>  Account[] newAccounts = new Account[accounts.length*2];</p><p>  //copy原來(lái)的相關(guān)數(shù)據(jù)</p><p>  System.arraycopy(accounts, 0, newAccounts, 0, accounts.length);</p><

70、p>  //將newAccounts[]賦給accounts[]</p><p>  accounts = newAccounts;</p><p>  accounts[number] = account;</p><p><b>  }</b></p><p><b>  else</b>

71、</p><p><b>  {</b></p><p>  accounts[number] = account;</p><p><b>  }</b></p><p>  System.out.println("開(kāi)戶成功?。?!賬戶信息見(jiàn)下");</p><

72、;p>  System.out.println("您的卡號(hào)為:"+id+"\n"+"您的密碼為:"+passwd1+"\n"+"您的戶名為:"+name+"\n"+"您的身份證號(hào)為:"+personId+"\n"+"您的賬戶類型為:"+type+&quo

73、t;\n");</p><p>  account.accountType = type;</p><p><b>  number++;</b></p><p><b>  id++;</b></p><p>  return account;//此時(shí)開(kāi)戶成功</p>&

74、lt;p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  System.out.println("對(duì)不起!您兩次密碼輸入不匹配,開(kāi)戶失?。。?!");</p><p>  

75、return null;//此時(shí)開(kāi)戶失敗</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  /**</b></p><p><b>  * 保存數(shù)據(jù)</b></p><p>

76、<b>  */</b></p><p>  public void saveAccountDate(){</p><p>  BufferedWriter bufWriter=null;</p><p><b>  try {</b></p><p>  Properties props=Syst

77、em.getProperties();</p><p>  String path=props.getProperty("user.dir");</p><p>  bufWriter=new BufferedWriter(new FileWriter(new File(path,"account.txt")));</p><p&

78、gt;  for(int i = 0;i < accounts.length;i++)</p><p><b>  {//若存在賬戶</b></p><p>  if(accounts[i] != null)</p><p><b>  {</b></p><p>  //寫(xiě)入賬戶信息到a

79、ccount.txt</p><p>  bufWriter.write(accounts[i].id+",");</p><p>  bufWriter.write(accounts[i].getPassword()+",");</p><p>  bufWriter.write(accounts[i].getName()+

80、",");</p><p>  bufWriter.write(accounts[i].getPersonId()+",");</p><p>  bufWriter.write(accounts[i].getAccountType()+",");</p><p>  bufWriter.write(Dou

81、ble.toString(accounts[i].getBalance()));</p><p>  bufWriter.newLine();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></

82、p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  bufWriter.flush();//清空緩存中的內(nèi)容</p><p>  } catch (IOE

83、xception e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p><b>  try {</b></p>

84、;<p>  if(bufWriter!=null){</p><p>  bufWriter.close();</p><p><b>  }</b></p><p>  } catch (IOException e) {</p><p>  // TODO Auto-generated catch bl

85、ock</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  /**</b>

86、</p><p><b>  * 登錄驗(yàn)證</b></p><p><b>  */</b></p><p>  public Account verifyAccount(long id, String password){</p><p>  Account account = null;&l

87、t;/p><p>  for(int i = 0;i < accounts.length;i++)</p><p><b>  {//若存在賬戶</b></p><p>  if(accounts[i] != null)</p><p>  {//驗(yàn)證id號(hào)和password</p><p>

88、;  if(id == accounts[i].getId() && password.equals(accounts[i].getPassword()))</p><p><b>  {</b></p><p>  account = accounts[i];</p><p><b>  break;</b&g

89、t;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  break;</

90、b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return account;</p><p><b>  }</b></p><p><b>  /**</b><

91、;/p><p>  * 轉(zhuǎn)賬驗(yàn)證(方法的重載)</p><p><b>  */</b></p><p>  public Account verifyAccount(long id){</p><p>  Account account = null;</p><p>  for(int i = 0

92、;i < accounts.length;i++)</p><p><b>  {//若存在賬戶</b></p><p>  if(accounts[i] != null)</p><p>  {//驗(yàn)證id號(hào)和password</p><p>  if(id == accounts[i].getId())&l

93、t;/p><p><b>  {</b></p><p>  account = accounts[i];</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b>

94、</p><p><b>  else</b></p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b&

95、gt;</p><p>  return account;</p><p><b>  }</b></p><p><b>  /**</b></p><p><b>  * 轉(zhuǎn)賬</b></p><p><b>  */</b>&

96、lt;/p><p>  public void transferAccount(Account account1, Account account2, double money){</p><p>  account1.withdraw(money);</p><p>  account2.deposit(money);</p><p><

97、;b>  }</b></p><p><b>  /**</b></p><p><b>  * 存款</b></p><p><b>  */</b></p><p>  public void deposit(Account account, double

98、 money){</p><p>  account.deposit(money);</p><p><b>  }</b></p><p><b>  /**</b></p><p><b>  * 取款</b></p><p><b>  

99、*/</b></p><p>  public void withdraw(Account account, double money){</p><p>  account.withdraw(money);</p><p><b>  }</b></p><p>  2.3 SavingAccount類&l

100、t;/p><p>  對(duì)儲(chǔ)蓄卡用戶進(jìn)行取款,轉(zhuǎn)賬,查看余額等操作。</p><p>  圖4 儲(chǔ)蓄卡用戶操作頁(yè)面</p><p>  public class SavingAccount extends Account{</p><p><b>  //構(gòu)造函數(shù)</b></p><p>  publi

101、c SavingAccount() {</p><p><b>  super();</b></p><p><b>  }</b></p><p>  public SavingAccount(long id, String password, String name, </p><p>  St

102、ring personId,int accountType, double balance) {</p><p>  super(id, password, name, personId, accountType, balance);</p><p><b>  }</b></p><p>  //對(duì)父類的withdraw()實(shí)現(xiàn)</p&

103、gt;<p>  public void withdraw(double money){</p><p>  if(balance < money){</p><p>  System.out.println("對(duì)不起,賬戶余額不足!");</p><p><b>  }</b></p>&

104、lt;p><b>  else</b></p><p><b>  {</b></p><p>  balance -= money;</p><p><b>  }</b></p><p><b>  }</b></p><p&

105、gt;<b>  }</b></p><p>  2.4 CresitAccount類</p><p>  對(duì)信用卡賬戶進(jìn)行透支取款,轉(zhuǎn)賬,查看余額等操作。</p><p>  圖5 信用卡用戶操作頁(yè)面</p><p>  public class CreditAccount extends Account{</p

106、><p>  private int ceiling;</p><p><b>  //構(gòu)造函數(shù)</b></p><p>  public CreditAccount(){</p><p><b>  super();</b></p><p><b>  }</b

107、></p><p>  public CreditAccount(long id, String password, String name,</p><p>  String personId,int accountType, double balance, int ceiling){</p><p>  super(id, password, name,

108、personId, accountType, balance);</p><p>  this.ceiling = ceiling;</p><p><b>  }</b></p><p>  //getXxx,setXxx方法</p><p>  public int getCeiling() {</p>

109、<p>  return ceiling;</p><p><b>  }</b></p><p>  public void setCeiling(int ceiling) {</p><p>  this.ceiling = ceiling;</p><p><b>  }</b>&

110、lt;/p><p>  //實(shí)現(xiàn)父類的withdraw()</p><p>  public void withdraw(double money){</p><p>  if((balance + ceiling) < money){</p><p>  System.out.println("對(duì)不起,已超出您的信用額度!&qu

111、ot;);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  balance -= money;</p><p><b>  }</b>

112、</p><p><b>  }</b></p><p><b>  }</b></p><p>  2.5 Account類</p><p>  對(duì)賬戶進(jìn)行存款等操作。</p><p><b>  圖6 賬戶存款頁(yè)面</b></p>&

113、lt;p>  public abstract class Account {</p><p><b>  //屬性</b></p><p>  protected long id;</p><p>  protected String password;</p><p>  protected String na

114、me;</p><p>  protected String personId;</p><p>  protected int accountType;</p><p>  protected double balance;</p><p><b>  //構(gòu)造方法</b></p><p>  

115、public Account(){</p><p>  //super();</p><p><b>  }</b></p><p>  public Account(long id, String password, String name, String personId,</p><p>  int accoutT

116、ype,double balance) {</p><p><b>  super();</b></p><p>  this.id = id;</p><p>  this.password = password;</p><p>  this.name = name;</p><p>  th

117、is.personId = personId;</p><p>  this.accountType = accountType;</p><p>  this.balance = balance;</p><p><b>  }</b></p><p>  //getXxx,setXxx方法</p>&l

118、t;p>  public long getId() {</p><p>  return id;</p><p><b>  }</b></p><p>  public void setId(long id) {</p><p>  this.id = id;</p><p><b&

119、gt;  }</b></p><p>  public String getPassword() {</p><p>  return password;</p><p><b>  }</b></p><p>  public void setPassword(String password) {</

120、p><p>  this.password = password;</p><p><b>  }</b></p><p>  public String getName() {</p><p>  return name;</p><p><b>  }</b></p&g

121、t;<p>  public void setName(String name) {</p><p>  this.name = name;</p><p><b>  }</b></p><p>  public String getPersonId() {</p><p>  return person

122、Id;</p><p><b>  }</b></p><p>  public void setPersonId(String personId) {</p><p>  this.personId = personId;</p><p><b>  }</b></p><p&

123、gt;  public int getAccountType() {</p><p>  return accountType;</p><p><b>  }</b></p><p>  public void setAccountType(int accountType) {</p><p>  this.accou

124、ntType = accountType;</p><p><b>  }</b></p><p>  public double getBalance() {</p><p>  return balance;</p><p><b>  }</b></p><p>  p

125、ublic void setBalance(double balance) {</p><p>  this.balance = balance;</p><p><b>  }</b></p><p><b>  /**</b></p><p><b>  * 存款 */</b&g

126、t;</p><p>  public void deposit(double money){</p><p>  balance += money;</p><p><b>  }</b></p><p><b>  /**</b></p><p>  * 取款(取款方式由

127、賬戶類型決定,所以設(shè)為抽象方法,相應(yīng)的Account類應(yīng)設(shè)為抽象類)</p><p><b>  */</b></p><p>  public abstract void withdraw(double money);</p><p><b>  }</b></p><p><b>  

128、調(diào)試與分析</b></p><p>  問(wèn)題1:遇到的第一個(gè)問(wèn)題是如何用進(jìn)行異常處理,根據(jù)查資料以及問(wèn)同學(xué)才學(xué)會(huì);</p><p>  問(wèn)題2:是在寫(xiě)取錢(qián)這一模塊,由于信用卡與儲(chǔ)蓄卡兩者有著能否透支的區(qū)別,所以,無(wú)法在一個(gè)函數(shù)方法中實(shí)現(xiàn),經(jīng)過(guò)自己仔細(xì)的設(shè)計(jì)調(diào)試,才在不同的類下面分開(kāi)構(gòu)造;</p><p>  問(wèn)題3:在貸款和還錢(qián)這一模塊,在還錢(qián)的時(shí)候,忘

129、記設(shè)置貸款表內(nèi)的數(shù)據(jù)與還錢(qián)要同步。</p><p><b>  六、功能測(cè)試</b></p><p><b>  圖7 添加賬戶</b></p><p><b>  圖8 登錄賬戶</b></p><p><b>  圖9 存款</b></p>

130、<p><b>  圖10 取款</b></p><p><b>  圖11 轉(zhuǎn)賬</b></p><p>  圖12 查看賬戶余額</p><p><b>  七、結(jié)論與心得</b></p><p>  這次實(shí)驗(yàn)可以說(shuō)是完美的也可以說(shuō)是不完美的,完美的就是在這次

131、實(shí)驗(yàn)中熟練掌握了用java中的一些比較精髓的東西,比如說(shuō)調(diào)用函數(shù),文件等操作,同時(shí)也讓自己更進(jìn)一步的熟練的編寫(xiě)程序,可以說(shuō)這次實(shí)驗(yàn)對(duì)自己的java學(xué)習(xí)是完美的。但是這次實(shí)驗(yàn)也是不完美的,感覺(jué)實(shí)驗(yàn)的時(shí)間太短,中間還有很多考試,以至于自己寫(xiě)實(shí)驗(yàn)的時(shí)間減少了許多,感覺(jué)自己還有好多功能可以添加比如說(shuō)交易歷史的瀏覽,統(tǒng)計(jì),還有就是貸款,還款等等。</p><p>  經(jīng)過(guò)這次試驗(yàn),讓我深深的感受到了“一分耕耘,一分收獲”,

132、寫(xiě)程序的確是挺消耗時(shí)間的,不過(guò)自己也在熟練或掌握一些知識(shí)??梢哉f(shuō)這實(shí)驗(yàn)有很大的收獲。</p><p><b>  八、參考資料</b></p><p>  [1]耿祥義、張躍平. JAVA2實(shí)用教程(修定),清華大學(xué)出版社,2001.10</p><p>  [2]袁然、鄭自國(guó)等著.java案例開(kāi)發(fā)集錦,電子工業(yè)出版社,2005.9</p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論