银行

更新时间:2024-04-25 06:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章

练习3:创建一个简单的银行程序包(2级)

练习目标-本练习中,将在banking程序包中建立Account类。这里向您简单介绍这个银行项目,在后面几章(直到第九章)的几个实验练习中您还将利用这个工程。 任务

在这个练习里,创建一个简单版本的Account类。将这个源文件放入banking程序包中。在创建单个帐户的默认程序包中,已编写了一个测试程序TestBanking。这个测试程序初始化帐户余额,并可执行几种简单的事物处理。最后,该测试程序显示该帐户的最终余额。 1. 创建banking目录。使用命令例如:mkdir banking

2. 在banking 目录下的Account . java文件中,创建Account类。该类必须实现上述UML

框图中的模型。

a. 声明一个私有对象属性:balance,这个属性保留了银行帐户的当前(或即时)余额。 b. 声明一个带有一个参数(init_balance)的公有构造器,这个参数为balance属性赋

值。

c. 声明一个公有方法geBalance,该方法用于获取经常余额。 d. 声明一个公有方法deposit,该方法向当前余额增加金额。 e. 声明一个公有方法withdraw从当前余额中减去金额。

3. 在练习3的主目录中,编译TestBanking.java文件。结果会是逐项编译程序中使用的全

部类;因此,编译banking目录下的Account.java文件。 Java-d.Testbanking.java

4. 运行TestBanking类。可以看到下列输出结果; Creating an account with a 500.00 balance Withdraw 150.00 Deposit 22.50 Withdraw 47.62

The account has a balance of 324.88

第三章

练习目标-在本练习中,将扩展银行项目,添加一个Customer类。Customer类将包含一个Account对象。 任务

首先将工作目录设置为SL275/mod03/exercise2. 1. 创建banking目录。

2. 从前面的实验练习中将银行项目文件复制到本目录中,使用如下命令: cp../../mod02/exercise3/banking/*.java banking/

3.在banking目录下的customer . java文件中创建Customer类。这个项目展示了您的程序的Java包的结构。这个类必须实现上面的UML图表中的模型。 a. 声明三个私有对象属性:firstName、lastName和account。

b. 声明一个公有构造器,这个构造器带有两个代表对象属性的参数(f和l) c. 声明两个公有存取器来访问该对象属性,方法getFirstName和getLastName返回相应的属性。

d. 声明setAccount 方法来对account属性赋值。 e. 声明getAccount 方法以获取account属性。

4.在exercise2主目录里,编译运行这个TestBanking程序。应该看到如下输出结果:

Creating the customer Jane Smith.

Creating her account with a 500.00 balance. Withdraw 150.00 Deposit 22.50 Withdraw 47.62

Customer [Smith, Jane] has a balance of 324.88

第四章

练习2:修改withdraw 方法(2级)

练习目标-在本练习里,将修改withdraw方法以返回一个布尔值来指示交易是否成功。 任务

首先将计算机工作目录设置为SL275/mod04/exercise2。

1. 创建banking目录,将以前的银行项目文件复制到这个包目录。 2. 修改Account类,在withdraw和deposit方法中设置文件。

a. 修改deposit 方法返回true(意味所有存款是成功的)。

b. 修改withdraw方法来检查提款数目是否大于余额。如果amt小于balance,则从余额

中扣除提款数目并返回true,否则余额不变返回false。

3. 在exercise2主目录编译并运行TestBanking程序,将看到下列输出;

Creating the customer Jane Smith.

Creating her account with a 500.00 balance. Withdraw 150.00: true Deposit 22.50: true Withdraw 47.62: true Withdraw 400.00: false

Customer [Smith, Jane] has a balance of 324.88

第五章

练习2:用数组表示多重性(2级)

练习目标-在本练习中,将用数组实现银行与客户间的多重关系。 任务

对银行来说,可按图模式添加Bank类。银行对象跟踪自身与其客户间的关系。用Customer对象的数组实现这个集合化的关系。还要保持一个整数属性来跟踪银行当前有多少客户。 1. 创建banking 目录。将前面的银行项目文件复制到本银行包目录。 2. 为Bank类增加两个属性:customers(Customer对象的数组)和number of Customers(整数,

跟踪下一个customers数组索引)

3. 添加公有构造器,以合适的最大尺寸(至少大于5)初始化customers数组。

4. 添加addCustomer方法。该方法必须依照参数(姓,名)构造一个新的Customer对象然

后把它放到customer数组中。还必须把numberofCustomers属性的值加1。 5. 添加getNumOfCustomers 访问方法,它返回numberofCustomers属性值。 6. 添加getCustomer方法。它返回与给出的index参数相关的客户。 7. 编译并运行TestBanking程序。可以看到下列输出结果:

Customer [1] is Simms,Jane Customer [2] is Bryant,Owen Customer [3] is Soley,Tim Customer [4] is Soley,Maria

第六章

练习目标:在本练习中,将在银行项目中创建Account的两个子类:SavingAccount 和 CheckingAccount

Account类的两个子类

仿照图向banking包添加SavingAccount 和 CheckingAccount子类

1. 建立banking目录。将前面的banking项目文件夫知道这个包目录中。 Account类已经改变;balance属性现在是protected(用字符#表示) 2. 将balance属性的访问方式改为protected 3. SavingAccount 类必须扩展Account类

4. 该类必须包含一个类型为double的interestRate属性

5. 该类必须包括带有两个参数(balance和interest_rate)的共有构造器。该构造器必须通

过调用super(balance)将balance参数传递给父类构造器。

实现CheckingAccount类

6. CheckingAccount类必须扩展Account类

7. 该类必须包含一个类型为double的overdraftProtection属性。

8. 该类必须包含一个带有参数(balance)的共有构造器。该构造器必须通过调用

super(balance)将balance参数传递给父类构造器。

9. 给类必须包括另一个带有两个参数(balance 和 protect)的共有构造器。该构造器必须

通过调用super(balance)并设置overdragtProtection属性,将balance参数传递给父类构造器。 10. CheckingAccount类必须覆盖withdraw方法。此方法必须执行下列检查。如果当前

余额足够弥补取款amount,则正常进行。如果不够弥补但是存在透支保护,则尝试用

overdraftProtection得值来弥补该差值(balance-amount).如果弥补该透支所需要的金额大于当前的保护级别。则整个交易失败,但余额未受影响。 11. 在主exercise1目录中,编译并执行TestBanking程序。输出应为: Creating the customer Jane Smith.

Creating her Savings Account with a 500.00 balance and 3% interest. Creating the customer Owen Bryant.

Creating his Checking Account with a 500.00 balance and no overdraft protection.

Creating the customer Tim Soley.

Creating his Checking Account with a 500.00 balance and 500.00 in overdraft prot ection.

Creating the customer Maria Soley.

Maria shares her Checking Account with her husband Tim.

Retrieving the customer Jane Smith with her savings account. Withdraw 150.00: true Deposit 22.50: true Withdraw 47.62: true Withdraw 400.00: false

Customer [Simms, Jane] has a balance of 324.88

Retrieving the customer Owen Bryant with his checking account with no overdraft protection.

Withdraw 150.00: true Deposit 22.50: true Withdraw 47.62: true Withdraw 400.00: false

Customer [Bryant, Owen] has a balance of 324.88

Retrieving the customer Tim Soley with his checking account that has overdraft p rotection.

Withdraw 150.00: true Deposit 22.50: true Withdraw 47.62: true Withdraw 400.00: true

Customer [Soley, Tim] has a balance of 0.0

Retrieving the customer Maria Soley with her joint checking account with husband Tim.

Deposit 150.00: true Withdraw 750.00: false

Customer [Soley, Maria] has a balance of 150.0

第七章

在这一阶段,因为要创建一个属于banking.reports包的CustomerReport类。银行项目需要更为复杂的包的层次结构。所以必须把domain类放在banking/domain目录中。而且,必须为每个文件改变包声明,

修改Bank类来实现单子设计模式

1. 修改Bank类,创建名为getBanking的公有静态方法,它返回一个Bank类的实例。 2. 单个的实例应是静态属性,且为私有。同样,Bank构造器也应该是私有的 修改CustomerReport类 在前面的银行项目练习中,“客户报告”嵌入在TestBanking应用程序的main方法中。在这个练习中,改代码被放在,banking.reports包的CustomerReport类中。您的任务是修改这个类,使其使用单一银行对象。

3.查找标注为注释块/*** ***/的代码行.修改该行以检索单子银行对象。 编译并运行TestBanking应用程序 看到下列输入结果:

CUSTOMER REPORT

======================= Customer:simms,jane

Savings Account:current balance is $500.00 Checking Account:current balance is $200.00

Customer:Bryant,owen

Checking Account:current balance is $200.00

Customer: Soley,Tim

Savings Account:current balance is $1,500.00 Checking Account:current balance is $200.00

Customer:Soley ,Maria

Checking Account:current balance is $200.00 Savings Account:current balance is $150.00

第8章

练习目的:——在本练习中,将建立一个OverdraftException异常,它由Account类的withdraw

本文来源:https://www.bwwdw.com/article/xggp.html

Top