ATM标准管理系统java窗口界面.doc
《ATM标准管理系统java窗口界面.doc》由会员分享,可在线阅读,更多相关《ATM标准管理系统java窗口界面.doc(33页珍藏版)》请在咨信网上搜索。
1、BAM银行账户管理系统(ATM管理系统)本系统采取JAVA语言并在eclipse环境下编写测试完成,包含类概念,和面向对象几大特征(继承,封装,多态,抽象),也有异常处理机制,采取集合(愈加好)存放账户数据,基础能够满足大多数BAM系统相关实现,且代码内标注大量注释,读者能够很轻松地了解相关逻辑,大家能够快乐参考。系统介绍:特点:采取窗口界面风格,而不是传统命令行、控制台运作模式1、JAVA类面相对象应用,拥有异常处理机制,不会因为输入错误而造成程序瓦解2、关键有7个类,即Account(账户类)SaveAccount(储蓄账户类):不能透支CreditAccount(信用账户类):能够透支B
2、ank(银行类)ATMOpenAccountFrame(开户窗口页面)ATMLoginFrame(登录窗口页面)ATMMainFrame(操作窗口页面) 带有完善相关信息提醒弹出窗口 见下面截图 类具体属性级行为见代码 3、各个类之间相互关系,包含继承、封装、多态、抽象,在多态中又包含重载和重 写,请读者注意相关联络(关注注释) 4、能够实现数据保留功效,数据将保留在文件中(即当你注册了一个账户,下次再登 陆系统时,能够实现和上次最终操作相衔接) 5、账户号自动生成,比较符合现实 6、关键功效有:1.开户 2.查询账户余额 3.存款 4.取款 5.转账(一个账户到另一个账户)等 7、运行时界面
3、简示1.初始界面(账户登录) 2.账户登录后界面 3.相关信息提醒一览(只列举一部分)1、查询:2、存款: 3、取款: 4、转账: 4、用户开户界面:注意事项:1、本系统采取编程环境是JDK1.7,jer7。所以,运行代码需要保持电脑上所装JDK为1.7以上版本,如有报错,只需换个高一点版本即可。注意:第一次装JDK,要配置环境变量(请查阅相关资料,比较简单)2、本系统代码包含到包,所以假如报名不一致就会报错,处理方法:修改一下包名即可3、提议把各个类写在同一个包下面,且每一个类单独写一个java文件,以下图:4、在运行程序前,需要在项目下面新建一个account.txt(用来保留数据)文件(
4、如上图),并在其中写入最少一个账户信息,(以下图,其中每项代表意思,请读者参考代码内注释),不然在初始化时候会因为找不到账户信息,从而产生异常。系统源码:Account类package com.qx;import javax.swing.JOptionPane;/* * 账户类:包含两种账户类型-1.储蓄账户 2.信用账户 */public abstract class Account /属性protected long id;protected String password;protected String name;protected String personId;protected
5、String accountType;protected double balance;/结构方法public Account()super();public Account(long id, String password, String name, String personId,String type,double balance) super();this.id = id;this.password = password;this.name = name;this.personId = personId;this.accountType = type;this.balance = ba
6、lance;/getXxx,setXxx方法public long getId() return id;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) this.name = name;public Strin
7、g getPersonId() return personId;public void setPersonId(String personId) this.personId = personId;public String getAccountType() return accountType;public void setAccountType(String accountType) this.accountType = accountType;public double getBalance() return balance;public void setBalance(double ba
8、lance) this.balance = balance;/* * 存款 */public void deposit(double money)balance += money;/* * 取款(取款方法由账户类型决定,所以设为抽象方法,对应Account类应设为抽象类) */public abstract void withdraw(double money);SavingAccount类package com.qx;import javax.swing.JOptionPane;/* * 储蓄账户类 */public class SavingAccount extends Account /
9、结构函数public SavingAccount() super();public SavingAccount(long id, String password, String name, String personId,String accountType, double balance) super(id, password, name, personId, accountType, balance);/对父类withdraw()实现public void withdraw(double money)if(balance money)/*System.out.println(对不起,账户余
10、额不足!);*/JOptionPane.showMessageDialog(null, 对不起,账户余额不足!,信息提醒,JOptionPane.ERROR_MESSAGE);elsebalance -= money;CresitAccount类package com.qx;import javax.swing.JOptionPane;/* * 信用账户类,增加一个信用额度ceiling属性 */public class CreditAccount extends Accountprivate int ceiling;/结构函数public CreditAccount()super();pub
11、lic CreditAccount(long id, String password, String name,String personId,String 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.cei
12、ling = ceiling;/实现父类withdraw()public void withdraw(double money)if(balance + ceiling) money)/*System.out.println(对不起,已超出您信用额度!);*/JOptionPane.showMessageDialog(null, 对不起,已超出您信用额度!,信息提醒,JOptionPane.ERROR_MESSAGE);elsebalance -= money;Bank类package com.qx;import java.io.BufferedReader;import java.io.Bu
13、fferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Properties;import javax.swing.JOptionPane;/* * Bank类 * 编写Ba
14、nk类,属性:1.目前全部账户对象集合,存放在数组中2.目前账户数量方法:1.用户开户,需要参数:id,密码,密码确定,姓名,身份证号码,账户类型,返回新创建Account对象账号, 提醒:用s1.equals(s2) 能够比较s1,s2两个字符串值是否相等.账户类型是一个整数,为0时候表示储蓄账户,为1时候表示信用账户2.用户登录,参数:id,密码 返回登录账户账号3.用户存款,参数:id,存款数额,返回void4.用户取款,参数:id,取款数额,返回void5.查询余额,参数:id,返回该账户余额 double用户会经过调用Bank对象以上方法来操作自己账户,请分析各个方法需要参数 */p
15、ublic class Bank /*private Account accounts = new Account20;*/private List accountsList;private int number;/账户数目private int id = 1001;/确定银行账号从1001开始生成,即第一个账户账号是1001/结构函数public Bank() accountsList=new ArrayList();number = 0;BufferedReader bufReader = null;Properties props=System.getProperties();Strin
16、g path=props.getProperty(user.dir);try bufReader=new BufferedReader(new FileReader(new File(path,account.txt);String s = bufReader.readLine();while(s != null)String str = s.split(,);if(str4.equals(0)Account savingAcc = new SavingAccount(Long.parseLong(str0),str1.toString(), str2.toString(),str3.toSt
17、ring(),str4.toString(),Double.parseDouble(str5);accountsList.add(savingAcc);elseAccount creditAcc = new CreditAccount(Long.parseLong(str0),str1.toString(), str2.toString(),str3.toString(),str4.toString(),Double.parseDouble(str5),5000);accountsList.add(creditAcc);number +;id+;s = bufReader.readLine()
18、; catch (NumberFormatException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (FileNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();finallytry if(bufReader != null)bufReader.close();
19、catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();/getXxx,setXxxpublic List getAccounts() return accountsList;public void setAccounts(List accounts) this.accountsList = accounts;public int getNumber() return number;public void setNumber(int number) this.number = number;publi
20、c int getId() return id;public void setId(int id) this.id = id;/* * 开户 */public Account openAccount(String passwd1, String passwd2, String name, String personId, String type)/创建一个新账户Account account = null;/判定两次密码是否一致if(passwd1.equals(passwd2)/若一致,再判定账户类型(依据type值)if(type.equals(1)/可令开始余额为10,信用额度为5000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM 标准 管理 系统 java 窗口 界面
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。