銀行賬戶管理系統課程設計報告_第1頁
銀行賬戶管理系統課程設計報告_第2頁
銀行賬戶管理系統課程設計報告_第3頁
銀行賬戶管理系統課程設計報告_第4頁
銀行賬戶管理系統課程設計報告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課 程 設 計課程設計名稱: java課程設計 專 業(yè) 班 級 : 計科13級03班 學 生 姓 名 : 余金梁 學 號 : 2 指 導 教 師 : 王社偉 課程設計時間: 2015.6.22-2015.7.3 計算機科學技術 專業(yè)課程設計任務書學生姓名余金梁專業(yè)班級計科F1303學號2題 目銀行帳戶管理系統課題性質工程設計課題來源自擬課題指導教師王社偉同組姓名無主要內容 設計一個銀行賬戶管理的模擬系統。用戶開戶后,擁有一定的信用額度,除了傳統的存款,取款,轉賬等業(yè)務外,在信用額度內用戶還可以進行透支操作。 功能要求: 銀行帳戶的增加、刪除、修改、查詢、瀏覽;存款、取款、轉賬、透支等各種操作;

2、任務要求1. 綜合運用所學的JAVA程序設計基本知識,并能通過查閱相關文獻材料,獨立完成該課題的設計開發(fā)工作。2. 要求根據本課題設計合理的數據結構,并實現添加帳戶信息刪除帳戶信息修改帳戶信息瀏覽帳戶信息存款取款轉賬等功能模塊。3. 按照課程設計上機安排,在規(guī)定時間上機,上機考勤情況計入總成績。4. 結合設計和開發(fā)內容,完成課程設計報告。要求語言表達邏輯合理,圖表清晰,準確表達課程設計內容和結果。參考文獻1 耿祥義、張躍平. JAVA2實用教程(修定),清華大學出版社,2001.102 袁然、鄭自國等著.java案例開發(fā)集錦,電子工業(yè)出版社,2005.93 劉繼承,王社偉等.Java程序設計及

3、實驗,清華大學出版社,2012.9.4 趙付青等.Java面向對象程序設計,國防工業(yè)出版社,2010.2審查意見指導教師簽字:王社偉教研室主任簽字:史衛(wèi)亞 2015年 6 月 15 日 銀行帳戶管理系統 一、需求分析銀行賬戶管理系統中,主要有以下功能:1.添加賬戶:主要增加賬戶的賬號,姓名,類型以及所存的金額。2.登陸賬戶:根據輸入的賬號以及密碼,驗證判斷其賬戶的類型以進行操作。3.存款:輸入賬號,并向該賬號存錢。4.取款:輸入賬號和密碼,根據不同類型的賬戶進行取款或者透支取款。5.轉賬:輸入賬號和密碼,并向另外一個存在的賬號轉賬。6.查詢賬戶余額:根據輸入的賬號和密碼,查詢并顯示出該賬戶的剩

4、余金額。二、概要設計圖1 系統模塊流程圖三、運行環(huán)境、開發(fā)語言運行環(huán)境:Windows 8.1,DOS,Eclipse開發(fā)語言:Java四、詳細設計1 程序清單表1 ATM類方法功能void main()系統主函數ATM()用戶界面操作表2 Bank類方法功能openAccount()添加新賬戶saveAccountDate()保存數據verifyAccount()驗證賬戶transferAccount()轉賬表3 SavingAccount類方法功能SavingAccount()設置儲蓄卡賬戶void withdraw()儲蓄卡賬戶取錢表4 CresitAccount類方法功能CreditA

5、ccount()設置信用卡賬戶Ceiling()信用額度void withdraw()信用卡賬戶取錢表5 Account類方法功能void deposit()存款getxx()setxx()獲取及操作2 主要代碼2.1 ATM類進入銀行賬戶管理系統,進行操作。圖2:銀行賬戶管理系統主界面import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.;import java.io.;import java.util.Properties;import java.util

6、.Scanner;public class ATM /屬性private Bank bank;/構造函數public ATM() bank = new Bank();/main方法public static void main(String args)ATM atm = new ATM();/實例化ATMBank bank = atm.bank;/標號,判斷是否退出一級菜單boolean firstFlag = true;while(firstFlag)/一級菜單System.out.println(*歡迎使用XXX銀行模擬ATM系統,請按如下步驟操作*);System.out.println

7、( *1.用已有賬戶登錄);System.out.println( *2.沒有賬戶,開戶);System.out.println( *3.退出);Scanner scanner = new Scanner(System.in);System.out.print(請選擇:);try int choice1 = scanner.nextInt();switch(choice1) case 1:scanner = new Scanner(System.in);System.out.print(請輸入銀行卡號:);long id = scanner.nextInt();scanner = new Sc

8、anner(System.in);System.out.print(請輸入銀行密碼:);String password = scanner.next();Account account = bank.verifyAccount(id, password);if(account != null)/標號,判斷是否退出二級菜單boolean secondFlag = true;while(secondFlag)/二級菜單System.out.println(*歡迎使用XXX銀行模擬ATM系統,請按如下步驟操作*);System.out.println( *1.查詢賬戶余額);System.out.p

9、rintln( *2.存款);System.out.println( *3.取款);System.out.println( *4.轉賬);System.out.println( *5.退卡);scanner = new Scanner(System.in);System.out.print(請選擇:);try int choice2 = scanner.nextInt();switch(choice2) case 1:System.out.println(您賬戶的當前余額為:+account.getBalance();break; case 2:scanner = new Scanner(Sy

10、stem.in);System.out.print(請輸入您的存款金額:);double money1 = scanner.nextDouble();bank.deposit(account, money1);break; case 3:scanner = new Scanner(System.in);System.out.print(請輸入您的取款金額:);double money2 = scanner.nextDouble();bank.withdraw(account, money2);break; case 4:scanner = new Scanner(System.in);Syst

11、em.out.print(請輸入您要轉入賬戶的卡號:);long id2 = scanner.nextLong();Account account2 = bank.verifyAccount(id2);if(account2 != null)scanner = new Scanner(System.in);System.out.print(請輸入您要轉入賬戶的金額:);double money = scanner.nextLong();if(money = accounts.length)/擴容Account newAccounts = new Accountaccounts.length*2

12、;/copy原來的相關數據System.arraycopy(accounts, 0, newAccounts, 0, accounts.length);/將newAccounts賦給accountsaccounts = newAccounts;accountsnumber = account;elseaccountsnumber = account;System.out.println(開戶成功!賬戶信息見下);System.out.println(您的卡號為:+id+n+您的密碼為:+passwd1+n+您的戶名為:+name+n+您的身份證號為:+personId+n+您的賬戶類型為:+t

13、ype+n);account.accountType = type;number+;id+;return account;/此時開戶成功elseSystem.out.println(對不起!您兩次密碼輸入不匹配,開戶失?。?;return null;/此時開戶失敗/* * 保存數據 */public void saveAccountDate()BufferedWriter bufWriter=null;try Properties props=System.getProperties();String path=props.getProperty(user.dir);bufWriter=new

14、 BufferedWriter(new (new ,account.txt);for(int i = 0;i accounts.length;i+)/若存在賬戶if(accountsi != null)/寫入賬戶信息到account.txtbufWriter.write(accountsi.id+,);bufWriter.write(accountsi.getPassword()+,);bufWriter.write(accountsi.getName()+,);bufWriter.write(accountsi.getPersonId()+,);bufWriter.write(account

15、si.getAccountType()+,);bufWriter.write(Double.toString(accountsi.getBalance();bufWriter.newLine();elsebreak;bufWriter.flush();/清空緩存中的內容 catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();finallytry if(bufWriter!=null)bufWriter.close(); catch (IOException e) / TODO Auto-genera

16、ted catch blocke.printStackTrace();/* * 登錄驗證 */public Account verifyAccount(long id, String password)Account account = null;for(int i = 0;i accounts.length;i+)/若存在賬戶if(accountsi != null)/驗證id號和passwordif(id = accountsi.getId() & password.equals(accountsi.getPassword()account = accountsi;break;elsebr

17、eak;return account;/* * 轉賬驗證(方法的重載) */public Account verifyAccount(long id)Account account = null;for(int i = 0;i accounts.length;i+)/若存在賬戶if(accountsi != null)/驗證id號和passwordif(id = accountsi.getId()account = accountsi;break;elsebreak;return account;/* * 轉賬 */public void transferAccount(Account acc

18、ount1, Account account2, double money)account1.withdraw(money);account2.deposit(money);/* * 存款 */public void deposit(Account account, double money)account.deposit(money);/* * 取款 */public void withdraw(Account account, double money)account.withdraw(money);2.3 SavingAccount類對儲蓄卡用戶進行取款,轉賬,查看余額等操作。圖4 儲蓄

19、卡用戶操作頁面public class SavingAccount extends Account/構造函數public SavingAccount() super();public SavingAccount(long id, String password, String name, String personId,int accountType, double balance) super(id, password, name, personId, accountType, balance);/對父類的withdraw()實現public void withdraw(double mon

20、ey)if(balance money)System.out.println(對不起,賬戶余額不足!);elsebalance -= money;2.4 CresitAccount類對信用卡賬戶進行透支取款,轉賬,查看余額等操作。圖5 信用卡用戶操作頁面public class CreditAccount extends Accountprivate int ceiling;/構造函數public CreditAccount()super();public CreditAccount(long id, String password, String name,String personId,i

21、nt accountType, double balance, int ceiling)super(id, password, name, personId, accountType, balance);this.ceiling = ceiling;/getXxx,setXxx方法public int getCeiling() return ceiling;public void setCeiling(int ceiling) this.ceiling = ceiling;/實現父類的withdraw()public void withdraw(double money)if(balance

22、+ ceiling) money)System.out.println(對不起,已超出您的信用額度!);elsebalance -= money;2.5 Account類對賬戶進行存款等操作。圖6 賬戶存款頁面public abstract class Account /屬性protected long id;protected String password;protected String name;protected String personId;protected int accountType;protected double balance;/構造方法public Account

23、()/super();public Account(long id, String password, String name, String personId,int accoutType,double balance) super();this.id = id;this.password = password; = name;this.personId = personId;this.accountType = accountType;this.balance = balance;/getXxx,setXxx方法public long getId() return id;

24、public void setId(long id) this.id = id;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getName() return name;public void setName(String name) = name;public String getPersonId() return personId;public void setPersonId(String personId) this.personId = personId;public int getAccountType() return accountType;public void setAccountType(int accountType) this.accountType = accountType;public double getBalance() return balance;public void setBalance(double balance)

溫馨提示

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

評論

0/150

提交評論