ATM管理系统(java 窗口界面完整版)

上传人:n**** 文档编号:45883111 上传时间:2018-06-19 格式:PDF 页数:23 大小:436.67KB
返回 下载 相关 举报
ATM管理系统(java 窗口界面完整版)_第1页
第1页 / 共23页
ATM管理系统(java 窗口界面完整版)_第2页
第2页 / 共23页
ATM管理系统(java 窗口界面完整版)_第3页
第3页 / 共23页
ATM管理系统(java 窗口界面完整版)_第4页
第4页 / 共23页
ATM管理系统(java 窗口界面完整版)_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《ATM管理系统(java 窗口界面完整版)》由会员分享,可在线阅读,更多相关《ATM管理系统(java 窗口界面完整版)(23页珍藏版)》请在金锄头文库上搜索。

1、BAM 银行账户管理系统(银行账户管理系统(ATM 管理系统)管理系统)本系统采用 JAVA 语言并在 eclipse 环境下编写测试完成,涉及类的概念,以及面向对象的几大特性(继承,封装,多态,抽象) ,也有异常处理机制,采用集合(更好)存储账户数据,基本可以满足大多数 BAM 系统的相关实现,且代码内标注大量注释,读者可以很轻松地理解相关逻辑,大家可以开心参考。系统简介:系统简介:特点:采用窗口界面风格,而不是传统的命令行、控制台运作模式特点:采用窗口界面风格,而不是传统的命令行、控制台运作模式1、JAVA 类的面相对象的应用,拥有异常处理机制,不会因为输入错误而导致程序崩溃2、主要有 7

2、 个类,即Account(账户类)SaveAccount(储蓄账户类) :不能透支CreditAccount(信用账户类) :可以透支Bank(银行类)ATMOpenAccountFrame(开户窗口页面)ATMLoginFrame(登录窗口页面)ATMMainFrame(操作窗口页面)带有完善的相关信息提示弹出窗口带有完善的相关信息提示弹出窗口见下面截图见下面截图类的具体属性级行为见代码3、各个类之间的相互关系,涉及继承、封装、多态、抽象,在多态中又涉及重载和重写,请读者注意相关联系(关注注释)4、可以实现数据保存功能,数据将保存在文件中(即当你注册了一个账户,下次再登陆系统时,可以实现与上

3、次最后的操作相衔接)5、账户号自动生成,比较符合现实6、主要功能有:1.开户2.查询账户余额3.存款4.取款5.转账(一个账户到另一个账户)等7、运行时界面简示1.1.初始界面(账户登录)初始界面(账户登录)2.账户登录后界面账户登录后界面3.相关信息提示一览(只列举一部分)相关信息提示一览(只列举一部分)1、查询:2、存款:3、取款:4、转账:4、用户开户界面:、用户开户界面:注意事项:注意事项:1、本系统采用的编程环境是 JDK1.7,jer7。所以,运行代码需要保持电脑上所装的 JDK为 1.7 以上版本,如有报错,只需换个高一点的版本即可。注意:第一次装 JDK,要配置环境变量(请查阅

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

5、类型1.储蓄账户储蓄账户 2.信用账户信用账户 */ public abstract class Account /属性属性 protected long id; protected String password; protected String name; protected String personId; protected String accountType;protected double balance;/构造方法构造方法 public Account() super(); publicAccount(longid,Stringpassword,Stringname,Stri

6、ng personId, String type,double balance) super(); this.id = id; this.password = password; this.name = name; this.personId = personId; this.accountType = type; this.balance = balance; /getXxx,setXxx 方法方法 public long getId() return id; public void setId(long id) this.id = id; public String getPassword

7、() return password; public void setPassword(String password) 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 String

8、 getAccountType() return accountType; public void setAccountType(String accountType) this.accountType = accountType; public double getBalance() return balance; public void setBalance(double balance) this.balance = balance; /* 存款存款 */ public void deposit(double money) balance += money; /* 取款(取款方式由账户类

9、型决定,所以设为抽象方法,相应的取款(取款方式由账户类型决定,所以设为抽象方法,相应的 Account 类应设为类应设为 抽象类)抽象类) */ public abstract void withdraw(double money);SavingAccount 类类package com.qx;import javax.swing.JOptionPane;/* 储蓄账户类储蓄账户类 */ public class SavingAccount extends Account /构造函数构造函数 public SavingAccount() super(); public SavingAccoun

10、t(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 ();number = 0; BufferedReader bufReader = null; Properties props=System.getPr

11、operties(); String 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.toStr

12、ing(), str2.toString(), str3.toString(),str4.toString(), Double.parseDouble(str5); accountsList.add(savingAcc); else Account creditAcc = new CreditAccount(Long.parseLong(str0), str1.toString(), str2.toString(), str3.toString(),str4.toString(), Double.parseDouble(str5),5000); accountsList.add(creditA

13、cc); number +; id+; s = bufReader.readLine(); catch (NumberFormatException e) / TODO Auto-generated catch block e.printStackTrace(); catch (FileNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); fin

14、ally try if(bufReader != null) bufReader.close(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); /getXxx,setXxx public List getAccounts() return accountsList; public void setAccounts(List accounts) this.accountsList = accounts; public int getNumber() return number; publ

15、ic void setNumber(int number) this.number = number; public 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 account = new CreditAccount(id, passwd1, name, personId, type, 10, 5000); else account = new SavingAccount(id, passwd1, name, personId, type, 10); /将账户存入账户集合 accountsList 中 accountsList.add(account);JOptionPane.showMessage

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

当前位置:首页 > 电子/通信 > 综合/其它

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