========= 項 目 介 紹========
銀行賬戶管理系統
本項目主要實現用戶註冊 登錄 存、取錢和修改用戶信息功能。
用戶信息的存儲和獲取通過集合和IO輸入輸出流實現。
存錢 取錢功能通過修改用戶信息中的餘額實現
修改用戶信息 要先獲取用戶信息 ,再把修改後的信息保存到List中,同時必須刪除原有的用戶信息。
========項目功能需求=============
該銀行管理系統可以實現 以下主要幾個功能
用戶註冊 註冊成功才能進行用戶登錄
用戶登錄 登錄成功後 跳到主界面
存錢、取錢功能
對賬戶信息進行修改
查詢交易記錄
=======項目技術框架=========
一.註冊模塊
1.判斷賬號是否存在 。
① 得到文件中的用戶信息( IO對象輸入流 ObjectInputStream 和list集合接口的實現類 ArrayList)
2.從控制檯輸入用戶信息(Scanner類的nextLine() 和nextInt()方法),並保存到用戶信息文件中。
① 添加用戶信息到ArrayList集合中。
將ArrayList 類的對象list保存到文件中。用戶自定義類必須序列化。(IO對象輸出流ObjectOutputStream)
4.修改信息功能
① 顯示該用戶信息。
② 修改用戶信息 選擇要修改的信息(賬號 ,密碼,姓名,年齡 ,性別)注意:修改賬號信息時,要遍歷取出list中的用戶賬號信息,要求輸入的賬號信息不能與數據庫中的賬號相同(調用checkAccount()方法)。修改信息後要移除list中原有的用戶信息,將新的賬戶信息添加到list中,並將list寫入用戶信息文件中(saveList()方法)。
③ 顯示修改後的用戶信息。
5.查詢交易記錄功能
首次交易時,創建一個以用戶賬號命名的文件,用於保存用戶每次的交易記錄。
每次存款或取款成功後,將該次的交易記錄(交易時間和交易金額)寫進文件中。交易時間調用 Java.util包下的Date類 獲取正確的交易時間。
查詢交易記錄 :將交易記錄文件中的信息讀取出來,顯示到控制檯。
一.開發中遇到的問題及注意事項:
1.存錢功能,存錢後 再次登錄時,用戶餘額還是沒有變化。
原因分析和解決方法:存錢後 保存新的用戶信息到List中,並寫進文件夾。但未刪除原有的用戶信息。導致信息更新數據失敗。 解決方法:刪除原有的用戶信息。
2.修改用戶的賬號時,忽略了修改後的信息不能與數據庫中的用戶賬號相同,導致再次登錄時,出現錯誤。
解決方法:將輸入的新賬號與數據庫中的用戶賬號進行比較,如果出現相同,則要求重新修改。
3.使用IO輸入輸出流時要記得關閉流。
4.獲取用戶信息時要注意判斷list中是否爲空(即有沒有用戶信息),不爲空取大小大於0再進行list的遍歷。
5.保存交易記錄時,要調用java.util包下的Date類,獲取每次交易的時間,方便用戶查詢交易明細。在用BufferedWriter和FileWriter將交易記錄寫進戶賬文件時要記得追加。否則會導致寫入數據失敗。