java程序设计--模拟ATM机(基础)

上传者: xhay1122 | 上传时间: 2021-06-16 08:59:24 | 文件大小: 63KB | 文件类型: RAR
1. 账户类(满分50分) 版本1:满分10 分 设计Account1 类,包含: ■ 一个名为 id 的int 类型的私有数据域(默认值为 0),长度为 6 位。 ■ 一个名为 balance的double 类型的私有数据域(默认值为 0)。 ■ 一个名为 annualInterestRate 的double 类型的私有数据域存储当前利率(默认值为 0)。 假设所有的账户都有相同的利率。 ■ 一个名为 dateCreated 的Date 类型的私有数据域存储账户的开户日期。 ■ 一个能创建默认账户的无参构造方法。 ■ 一个能创建带特定 id 和初始余额的构造方法,初始余额不能为负数。 ■ id 、balance和annualInterestRate 的访问器和修改器。 ■ dateCreated 的访问器。 ■ 一个名为 getMonthlyInterestRate 的方法返回月利率。 ■ 一个名为 withDraw 的方法从账户提取特定金额。 ■ 一个名为 deposit 的方法向账户存人特定金额。 ■ double 类型的数据域保留 2 位小数。 ■ 成员方法和数据域应进行基本的合理性检查。 设计测试类 ATMMachine1: ■ 创建一个有 100 个账户的数组,其 id 为0,1,2,...99, 并初始化收支为 1000 美元。 ■ 主菜单如下(可参考教材中文版 P296或英文版 P367): Main menu 1: check balance 2: withdraw 3: deposit 版本2:满分20 分 扩展Account1 类为Account2 类: ■ Account2 类继承 Account1 类。 ■ 为Account2 类新增一个名为 password 的String 类型的私有数据域存储账号密码。 password 只能为字母或数字,长度不能小于 6 且不能大于 10。密码显示时为*******。 ■ 为Account2 类新增一个名为 name的String 类型的私有数据域存储客户名字。 ■ 为Account2 类新增一个名为 transactions 的ArrayList 类型的新数据域,其为客户存 储交易记录。这要求新建一个名为 Transaction 的类,类的定义请参照教材中文版 P327或英 文版P404。每笔交易都是 Transaction 类的一个实例。 ■ 新增一个带初始余额的构造方法,其 id 随机产生,但不能与当前系统的 id 重复。 若初始余额的参数为负数,则抛出一个自定义异常并在当前构造方法中进行处理。 ■ 重写方法 withDraw ,要求支取的金额为 100 的整数倍,并且当日支取金额不能超过 5000,支取金额不允许透支。每进行一次操作应向 transactions 数组线性表添加一笔交易。 ■ 重写方法 deposit ,要求每进行一次操作应向 transactions 数组线性表添加一笔交易。 ■ 新增一个方法 changePassword ,只有旧密码正确,新密码符合要求,且两次输入相 同的情况下才可以成功修改密码 设计测试类 ATMMachine2,其主菜单如下(可参考教材中文版 P296或英文版 P367): Main menu 0:create a account 1: check balance 2: withdraw 3: deposit 4:details of the transaction 5: change password 6:exit ■ 若用户选择新建一个账号,则应提示用户输入账号 password 、balance 和 annualInterestRate ,其中 id 随机产生。新产生的账户应序列化到名为 accounts.dat 的文件中。 所有账户只能通过这种方式产生。 ■ 所有用户操作结果应同步到 accounts.dat 文件中相应账户中。 ■ 所有用户操作应有友好、简介的提示语。 版本3:满分20 分 请参照银行的 AT M机界面,在 Account2 类的基础上开发一个 GUI 界面的AT M系统。 要求界面应模拟小键盘,并且账户信息读、写于文件 accounts.dat 。

文件下载

资源详情

[{"title":"( 43 个子文件 63KB ) java程序设计--模拟ATM机(基础)","children":[{"title":"Account","children":[{"title":"src","children":[{"title":"Account2.java <span style='color:#111;'> 3.04KB </span>","children":null,"spread":false},{"title":"Topic 1 version 1 of class uml.umr <span style='color:#111;'> 9.21KB </span>","children":null,"spread":false},{"title":"ATMMachinel.java <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"Account1.java <span style='color:#111;'> 1.80KB </span>","children":null,"spread":false},{"title":"Topic 1 version 1 of class uml.umr~ <span style='color:#111;'> 3.95KB </span>","children":null,"spread":false},{"title":"ATM.java <span style='color:#111;'> 13.90KB </span>","children":null,"spread":false},{"title":"Exercise19_20.java <span style='color:#111;'> 3.21KB </span>","children":null,"spread":false},{"title":"ATMMachinel2.java <span style='color:#111;'> 1.89KB </span>","children":null,"spread":false}],"spread":true},{"title":"bin","children":[{"title":"ATM$10.class <span style='color:#111;'> 979B </span>","children":null,"spread":false},{"title":"ATM$15.class <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false},{"title":"Account1.class <span style='color:#111;'> 2.05KB </span>","children":null,"spread":false},{"title":"ATM$11.class <span style='color:#111;'> 979B </span>","children":null,"spread":false},{"title":"ATM$1.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"ATM$7.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"ATM$8.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"Account2.class <span style='color:#111;'> 2.66KB </span>","children":null,"spread":false},{"title":"Topic 1 version 1 of class uml.umr <span style='color:#111;'> 9.21KB </span>","children":null,"spread":false},{"title":"ATM$5.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"ATM$9.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"Transaction.class <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"ATM$12.class <span style='color:#111;'> 980B </span>","children":null,"spread":false},{"title":"ATM$13.class <span style='color:#111;'> 2.59KB </span>","children":null,"spread":false},{"title":"Exercise19_20$BitOutputStream.class <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"ATM$4.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"ATMMachinel.class <span style='color:#111;'> 1.78KB </span>","children":null,"spread":false},{"title":"Exercise19_20$2.class <span style='color:#111;'> 1.30KB </span>","children":null,"spread":false},{"title":"ATM$6.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"ATM$2.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"ATM.class <span style='color:#111;'> 7.17KB </span>","children":null,"spread":false},{"title":"Exercise19_20$1.class <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"Topic 1 version 1 of class uml.umr~ <span style='color:#111;'> 3.95KB </span>","children":null,"spread":false},{"title":"ATMMachinel2.class <span style='color:#111;'> 2.97KB </span>","children":null,"spread":false},{"title":"ATM$3.class <span style='color:#111;'> 977B </span>","children":null,"spread":false},{"title":"Exercise19_20.class <span style='color:#111;'> 2.54KB </span>","children":null,"spread":false},{"title":"ATM$16.class <span style='color:#111;'> 3.21KB </span>","children":null,"spread":false},{"title":"ATM$14.class <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false}],"spread":false},{"title":".classpath <span style='color:#111;'> 301B </span>","children":null,"spread":false},{"title":".reverse.properties <span style='color:#111;'> 52B </span>","children":null,"spread":false},{"title":".settings","children":[{"title":"org.eclipse.jdt.ui.prefs <span style='color:#111;'> 5.12KB </span>","children":null,"spread":false},{"title":"org.eclipse.jdt.core.prefs <span style='color:#111;'> 629B </span>","children":null,"spread":false}],"spread":true},{"title":".project <span style='color:#111;'> 383B </span>","children":null,"spread":false},{"title":"xhaylovelily <span style='color:#111;'> 2B </span>","children":null,"spread":false},{"title":"accounts.dat <span style='color:#111;'> 829B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • haomiao1295 :
    还不错的程序,可以借鉴和参考
    2015-06-17
  • hades_1995 :
    不管怎么样都提供了很好的思路,感谢
    2015-05-19
  • w08031234 :
    还是很好的能够提供参考
    2014-10-16
  • sinat_16828227 :
    不管怎么样都提供了很好的思路,感谢
    2014-06-25
  • lqr88813 :
    没有数据库连接
    2014-06-10

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明