Java Reference
In-Depth Information
updated result = 5.0
r
Final result = 5.0
Again? (y/n)
N
End of Program
7. A method that returns a special error code is usually better accomplished throwing an
exception instead. The following class maintains an account balance.
class
Account
{
private double
balance;
public
Account()
{
balance = 0;
}
public
Account(
double
initialDeposit)
{
balance = initialDeposit;
}
public double
getBalance()
{
VideoNote
Solution to
Programming
Project 9.7
return
balance;
}
// returns new balance or -1 if error
public double
deposit(
double
amount)
{
if
(amount > 0)
balance += amount;
else
return
-1;
// Code indicating error
return
balance;
}
// returns new balance or -1 if invalid amount
public double
withdraw(double amount)
{
if
((amount > balance) || (amount < 0))
return
-1;
else
balance -= amount;
return
balance;
}
}
Rewrite the class so that it throws appropriate exceptions instead of returning −1
as an error code. Write test code that attempts to withdraw and deposit invalid
amounts and catches the exceptions that are thrown.