========= 项    目   介   绍========

 银行账户管理系统 

 本项目主要实现用户注册 登录 存、取钱和修改用户信息功能。

用户信息的存储和获取通过集合和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将交易记录写进户账文件时要记得追加。否则会导致写入数据失败。