========= 项 目 介 绍========
银行账户管理系统
本项目主要实现用户注册 登录 存、取钱和修改用户信息功能。
用户信息的存储和获取通过集合和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将交易记录写进户账文件时要记得追加。否则会导致写入数据失败。
转载于:https://blog.51cto.com/10298199/1665645