Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

below is the code from chapter 4 which needs modification Modify the Account cla

ID: 3816737 • Letter: B

Question

below is the code from chapter 4 which needs modification

Modify the Account class from Chapter 4 so that it also permits
an account to be opened with just a name and an account number,
assuming an initial balance of zero.

//********************************************************************
// Account.java Author: Lewis/Loftus
//
// Represents a bank account with basic services such as deposit
// and withdraw.
//********************************************************************

import java.text.NumberFormat;

public class Account
{
private final double RATE = 0.035; // interest rate of 3.5%

private long acctNumber;
private double balance;
private String name;

//-----------------------------------------------------------------
// Sets up the account by defining its owner, account number,
// and initial balance.
//-----------------------------------------------------------------
public Account(String owner, long account, double initial)
{
name = owner;
acctNumber = account;
balance = initial;
}
//-----------------------------------------------------------------
// Deposits the specified amount into the account. Returns the
// new balance.
//-----------------------------------------------------------------
public double deposit(double amount)
{
balance = balance + amount;
return balance;
}

//-----------------------------------------------------------------
// Withdraws the specified amount from the account and applies
// the fee. Returns the new balance.
//-----------------------------------------------------------------
public double withdraw(double amount, double fee)
{
balance = balance - amount - fee;
return balance;
}
//-----------------------------------------------------------------
// Adds interest to the account and returns the new balance.
//-----------------------------------------------------------------
public double addInterest()
{
balance += (balance * RATE);
return balance;
}

//-----------------------------------------------------------------
// Returns the current balance of the account.
//-----------------------------------------------------------------
public double getBalance()
{
return balance;
}

//-----------------------------------------------------------------
// Returns a one-line description of the account as a string.
//-----------------------------------------------------------------
public String toString()
{
NumberFormat fmt = NumberFormat.getCurrencyInstance();
return (acctNumber + " " + name + " " + fmt.format(balance));
}
}

Explanation / Answer

HI, I have added required Constructor so that Account can be opened with just name and account number.

//********************************************************************

// Account.java Author: Lewis/Loftus

//

// Represents a bank account with basic services such as deposit

// and withdraw.

//********************************************************************

import java.text.NumberFormat;

public class Account

{

   private final double RATE = 0.035; // interest rate of 3.5%

   private long acctNumber;

   private double balance;

   private String name;

//-----------------------------------------------------------------

   // Sets up the account by defining its owner, account number,

   // and initial balance = 0.

   //-----------------------------------------------------------------

   public Account(String owner, long account)

   {

name = owner;

acctNumber = account;

balance = 0;

   }

   //-----------------------------------------------------------------

   // Sets up the account by defining its owner, account number,

   // and initial balance.

   //-----------------------------------------------------------------

   public Account(String owner, long account, double initial)

   {

name = owner;

acctNumber = account;

balance = initial;

   }

//-----------------------------------------------------------------

   // Deposits the specified amount into the account. Returns the

   // new balance.

   //-----------------------------------------------------------------

   public double deposit(double amount)

   {

balance = balance + amount;

return balance;

   }

   //-----------------------------------------------------------------

   // Withdraws the specified amount from the account and applies

   // the fee. Returns the new balance.

   //-----------------------------------------------------------------

   public double withdraw(double amount, double fee)

   {

balance = balance - amount - fee;

return balance;

   }

   //-----------------------------------------------------------------

   // Adds interest to the account and returns the new balance.

   //-----------------------------------------------------------------

   public double addInterest()

   {

balance += (balance * RATE);

return balance;

   }

   //-----------------------------------------------------------------

   // Returns the current balance of the account.

   //-----------------------------------------------------------------

   public double getBalance()

   {

return balance;

   }

   //-----------------------------------------------------------------

   // Returns a one-line description of the account as a string.

   //-----------------------------------------------------------------

   public String toString()

   {

NumberFormat fmt = NumberFormat.getCurrencyInstance();

return (acctNumber + " " + name + " " + fmt.format(balance));

   }

}