bam银行账户管理系统(java类)

上传人:第*** 文档编号:33560318 上传时间:2018-02-15 格式:DOC 页数:16 大小:195KB
返回 下载 相关 举报
bam银行账户管理系统(java类)_第1页
第1页 / 共16页
bam银行账户管理系统(java类)_第2页
第2页 / 共16页
bam银行账户管理系统(java类)_第3页
第3页 / 共16页
bam银行账户管理系统(java类)_第4页
第4页 / 共16页
bam银行账户管理系统(java类)_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《bam银行账户管理系统(java类)》由会员分享,可在线阅读,更多相关《bam银行账户管理系统(java类)(16页珍藏版)》请在金锄头文库上搜索。

1、BAM 银行账户管理系统(ATM 管理系统)本系统采用 JAVA 语言并在 eclipse 环境下编写测试完成,涉及类的概念,以及面向对象的几大特性(继承,封装,多态,抽象) ,也有异常处理机制,基本可以满足大多数BAM 系统的相关实现,且代码内标注大量注释,读者可以很轻松地理解相关逻辑,大家可以开心参考。系统简介:1、 JAVA 类的面相对象的应用,拥有异常处理机制,不会因为输入错误而导致程序崩溃2、主要有 5 个类,即Account(账户类)SaveAccount(储蓄账户类):不能透支CreditAccount(信用账户类):可以透支Bank(银行类)ATM(ATM 类)类的具体属性级行

2、为见代码3、各个类之间的相互关系,涉及继承、封装、多态、抽象,在多态中又涉及重载和重写,请读者注意相关联系(关注注释)4、可以实现数据保存功能,数据将保存在文件中(即当你注册了一个账户,下次再登陆系统时,可以实现与上次最后的操作相衔接)5、账户号自动生成,比较符合现实6、主要功能有:1.开户2.查询账户余额3.存款4.取款5.转账(一个账户到另一个账户)等7、运行时界面简示1.初始界面(账户登录) 2.账户登录后界面注意事项:1、本系统采用的编程环境是 JDK1.7,jer7 。所以,运行代码需要保持电脑上所装的JDK 为 1.7 以上版本,如有报错,只需换个高一点的版本即可。注意:第一次装

3、JDK,要配置环境变量(请查阅相关资料,比较简单)2、本系统代码涉及到包,所以如果报名不一致就会报错,解决方法:修改一下包名即可3、建议把各个类写在同一个包下面,且每一个类单独写一个 java 文件,如下图:4、在运行程序前,需要在项目下面新建一个 account.txt(用来保存数据)文件(如上图) ,并在其中写入至少一个账户信息, (如下图,其中每项代表的意思,请读者参照代码内的注释) ,否则在初始化的时候会因为找不到账户信息,从而产生异常。系统源码:Account 类package com.qx;/包名/* 账户类 :包含两种账户类型1. 储蓄账户 2.信用账户*/public abst

4、ract class Account /属性protected long id;protected String password;protected String name;protected String personId;protected int accountType;protected double balance;/构造方法public Account()super();public Account(long id, String password, String name, String personId,int accoutType,double balance) super

5、();this.id = id;this.password = password;this.name = name;this.personId = personId;this.accountType = accountType;this.balance = balance;/getXxx,setXxx方法public long getId() return id;public void setId(long id) this.id = id;public String getPassword() return password;public void setPassword(String pa

6、ssword) this.password = password;public String getName() return name;public void setName(String name) this.name = name;public String getPersonId() return personId;public void setPersonId(String personId) this.personId = personId;public int getAccountType() return accountType;public void setAccountTy

7、pe(int accountType) this.accountType = accountType;public double getBalance() return balance;public void setBalance(double balance) this.balance = balance;/* 存款*/public void deposit(double money)balance += money;/* 取款(取款方式由账户类型决定,所以设为抽象方法,相应的Account 类应设为抽象类)*/public abstract void withdraw(double mon

8、ey);SavingAccount 类package com.qx;/* 储蓄账户类*/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);/对父类的 with

9、draw()实现public void withdraw(double money)if(balance = accounts.length) /扩容Account newAccounts = new Accountaccounts.length*2;/copy 原来的相关数据System.arraycopy(accounts, 0, newAccounts, 0, accounts.length);/将 newAccounts赋给 accountsaccounts = newAccounts;accountsnumber = account;elseaccountsnumber = acco

10、unt;System.out.println(开户成功!账户信息见下);System.out.println(您的卡号为:+id+n+您的密码为:+passwd1+n+您的户名为:+name+n+您的身份证号为:+personId+n+您的账户类型为:+type+n);account.accountType = type;number+;id+;return account;/此时开户成功elseSystem.out.println(对不起!您两次密码输入不匹配,开户失败!);return null;/此时开户失败/* 保存数据*/public void saveAccountDate()Bu

11、fferedWriter bufWriter=null;try Properties props=System.getProperties();String path=props.getProperty(user.dir);bufWriter=new BufferedWriter(new FileWriter(new File(path,account.txt);for(int i = 0;i accounts.length;i+) /若存在账户if(accountsi != null)/写入账户信息到 account.txtbufWriter.write(accountsi.id+,);bu

12、fWriter.write(accountsi.getPassword()+,);bufWriter.write(accountsi.getName()+,);bufWriter.write(accountsi.getPersonId()+,);bufWriter.write(accountsi.getAccountType()+,);bufWriter.write(Double.toString(accountsi.getBalance();bufWriter.newLine();elsebreak;bufWriter.flush();/清空缓存中的内容 catch (IOException

13、 e) / TODO Auto-generated catch blocke.printStackTrace();finallytry if(bufWriter!=null)bufWriter.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();/* 登录验证*/public Account verifyAccount(long id, String password)Account account = null;for(int i = 0;i accounts.length;i

14、+) /若存在账户if(accountsi != null) /验证 id 号和 passwordif(id = accountsi.getId() & password.equals(accountsi.getPassword()account = accountsi;break;elsebreak;return account;/* 转账验证(方法的重载)*/public Account verifyAccount(long id)Account account = null;for(int i = 0;i accounts.length;i+) /若存在账户if(accountsi !=

15、 null) /验证 id 号和 passwordif(id = accountsi.getId()account = accountsi;break;elsebreak;return account;/* 转账*/public void transferAccount(Account account1, 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);ATM 类package com.qx;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号