欢迎来到天天文库
浏览记录
ID:60758341
大小:498.00 KB
页数:11页
时间:2020-12-14
《天津理工大学Java实验3实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、天津理工大学计算机科学与工程学院实验报告2016至2017学年第一学期课程名称Java语言程序设计学号学生姓名年级2015级专业计算机科学与技术教学班号实验地点7-220实验时间2017年11月27日第5节至第6节主讲教师董玉涛辅导教师董玉涛实验(三)实验名称银行业务管理软件软件环境Windows8.1,JavaSE9,JDK8,Eclipse硬件环境PC机实验目的1.理解并掌握面向对象程序设计中类与对象的基本概念2.理解并掌握Java中定义类、创建对象、使用对象成员的方法3.理解并掌握Java中继承机制及实现方法4.掌握Java中接口用法5.掌握Java中多态的实现方
2、法实验内容(应包括实验题目、实验要求、实验任务等)某银行有许多储户,每个储户可以拥有一个或多个帐号。现要求你开发一个软件,管理银行储户与帐号业务。见图1。Bank类中有一个customers集合,用来存储所有的Customer(储户)对象,addCustomer方法用于向该集合中加储户,getCustomer方法根据下标值取某个储户,getNumOfCustomers方法取储户总数,getCustomers方法返回储户的Iterator,以便获得每个储户对象。Customer类有一个accounts集合,用来存储某个储户的所有Account(帐号)对象,addAccou
3、nt方法用于向该集合中加帐号,getAccount方法根据下标值取该储户的某个帐号,getNumOfAccounts方法取该储户的帐号总数,getAccounts方法返回该储户的帐号的Iterator,以便获得每个帐号对象。Account类是抽象类,有一个balance属性,代表余额。deposit方法表示存款,amount参数是存款额。withdraw方法表示取款,取款额amount如果超出了余额就会抛出透支异常,我们需要自己定义一个OverdraftException类来表示这个异常,当抛出透支异常时,不进行取款交易,并报告用户此项错误。SavingsAccount
4、类表示存款帐号,继承Account,新增一个属性interestRate,代表利率。CheckingAccount类表示大额存款帐号,也继承Account,它有一个叫canOverdraft的属性,是一个boolean值,代表该帐号能否透支(true-能,false-否);它还有一个叫maxOverdraft的属性,表示该帐号允许的最大透支额。这个类的withdraw(取款)方法需要考虑的因素比较多:在发生透支时,如果帐号不允许透支(canOverdraft=false),则抛出OverdraftException异常并退出交易;如果允许透支(canOverdraft=
5、true),但透支额(amount-balance)超过最大透支额的话,也抛出OverdraftException异常并退出交易;只有在不发生透支或透支额小于最大透支额时交易才能正常进行。另外,在每次进行透支交易时,最大透支额(maxOverdraft)应做调整,以便使该帐号的最大透支额随透支次数的增加而不断减少,从而可以避免透支的滥用,阻止信用膨胀。CheckingAccount类有两个构造方法,只带一个参数的构造方法用来初始化balance,同时设定canOverdraft=false,maxOverdraft=0.00。CustomerReport类用来显示每个储
6、户的姓名以及他所持有的帐号的类别和余额,以报表的形式输出。根据以上描述,创建一个TestBanking类,并在其main方法中添加若干储户和帐号,然后模拟存款、取款业务,并最终输出一张完整的报表。采用下表中的数据进行模拟:储户姓名帐号SavingsAccountCheckingAccountJaneSimmsSavingsAccount(500.00,0.05)CheckingAccount(200.00,true,400.00)OwenBryant无CheckingAccount(200.00)TimSoleySavingsAccount(1500.00,0.05)C
7、heckingAccount(300.00)MariaSoleySavingsAccount(150.00,0.05)与TimSoley共享一个CheckingAccount输出报表格式如下:CUSTOMERSREPORT==================储户姓名:JaneSimmsSavingsAccount:当前余额是¥XXXXCheckingAccount:当前余额是¥XXXX储户姓名:OwenBryantCheckingAccount:当前余额是¥XXXX储户姓名:TimSoleySavingsAccount:当前余额是¥XXX
此文档下载收益归作者所有