Mar 29th, 2015
Computer Science
Price: $20 USD

Question description

Enter the code for the two classes "" and "" shown below. The Program2 class is the driver class that uses the BankAccount worker class to implement the application. Note that this version of the BankAccount class accepts a monthly interest rate in decimal format that must be calculated by the user. 


* BankAccount class

* This class simulates a bank account.


* (Taken from "Starting Out with Java - Early Objects 

* (Third Edition) by Tony Gaddis, 2008 by Pearson Educ.)


public class BankAccount


private double balance;    // Account balance

private double interestRate; // Interest rate

private double interest;   // Interest earned


* The constructor initializes the balance

* and interestRate fields with the values

* passed to startBalance and intRate. The

* interest field is assigned to 0.0.


public BankAccount(double startBalance, double intRate)


balance = startBalance;

interestRate = intRate;

interest = 0.0;



* The deposit method adds the parameter

* amount to the balance field.


public void deposit(double amount)


balance += amount;



* The withdraw method subtracts the 

* parameter amount from the balance 

* field.


public void withdraw(double amount)


balance -= amount;



* The addInterest method adds the interest 

* for the month to the balance field.


public void addInterest()


interest = balance * interestRate;

balance += interest;



* The getBalance method returns the 

* value in the balance field.


public double getBalance()


return balance;



* The getInterest method returns the

* value in the interest field.


public double getInterest()


return interest;





* Colorado State University – ITS-320 – Basic Programming 


* This program demonstrates using the BankAccount class.


* (Taken from "Starting Out with Java - Early Objects 

* (Third Edition) by Tony Gaddis, 2008 by Pearson Educ.)


* Programmed by: Reggie Haseltine, instructor

* Date: June 19, 2010



import java.util.Scanner;    // Needed for the Scanner class

import java.text.DecimalFormat; // Needed for 2 decimal place amounts

public class Program2


public static void main(String[] args)


BankAccount account; // To reference a BankAccount object

double balance,    // The account's starting balance

interestRate, // The annual interest rate

pay,      // The user's pay

cashNeeded;  // The amount of cash to withdraw

// Create a Scanner object for keyboard input.

Scanner keyboard = new Scanner(;

// Create an object for dollars and cents

DecimalFormat formatter = new DecimalFormat ("#0.00");

// Get the starting balance.

System.out.print("What is your account's " + "starting balance? ");

balance = keyboard.nextDouble();

// Get the monthly interest rate.

System.out.print("What is your monthly interest rate? ");

interestRate = keyboard.nextDouble();

// Create a BankAccount object.

account = new BankAccount(balance, interestRate);

// Get the amount of pay for the month.

System.out.print("How much were you paid this month? ");

pay = keyboard.nextDouble();

// Deposit the user's pay into the account.

System.out.println("We will deposit your pay " + "into your account.");


System.out.println("Your current balance is $" + formatter.format( account.getBalance()  ));

// Withdraw some cash from the account.

System.out.print("How much would you like " + "to withdraw? ");

cashNeeded = keyboard.nextDouble();


// Add the monthly interest to the account.


// Display the interest earned and the balance.

System.out.println("This month you have earned $" + formatter.format( account.getInterest() ) +

" in interest.");

System.out.println("Now your balance is $" + formatter.format( account.getBalance() ) );



Compile the two test files ( first and second); then execute Program2 with the following inputs:

starting balance -


(don't enter the dollar sign)

monthly interest rate -


(this is a 1.5% annual rate)

monthly pay -


(don't enter the dollar sign)

withdrawal amount -


(don't enter the dollar sign)

By observing the output of this program, you should be able to verify that you earned $0.75 in interest and have an ending balance at the end of the month of $600.75.

Then modify the BankAccount class's constructor method to create a BankAccount object that stores a monthly interest when the user inputs an annual interest rate of the format "nnn.nn" (i.e., 1.5). Note that the BankAccount constructor stored a monthly interest rate for the BankAccount object's instance field originally, but the user had to convert the annual rate to a monthly rate (i.e., 1.5 to 0.00125). Then modify the Program2 driver class to prompt the user for an annual interest rate. Recompile both classes and execute the modified Program2 driver class again, this time with the following inputs:

starting balance -


(don't enter the dollar sign)

annual interest rate -


monthly pay -


(don't enter the dollar sign)

withdrawal amount -


(don't enter the dollar sign)

Verify that you still earn $0.75 in interest and have an ending balance at the end of the month of $600.75, as you did with the original code.

Assignment Deliverable Instructions:

Submit only the modified source code files, final user inputs, and final output. Do not submit the original source code, inputs, and output.

Make sure that you include the course, the program number, your name, and the date in your program header. Also include this information at the top of your Microsoft Word file. Include additional comments, as necessary, and maintain consistent indentation for good programming style, as shown and discussed in our text.

You may use the Windows Command Prompt command line interface or any Java IDE you choose to compile and execute your program.

You are to submit the following deliverables to the Dropbox:

a. A single Microsoft Word file containing a screen snapshot of your Java source code for both and (just the beginnings of the source code is OK) as it appears in your IDE (e.g., jGRASP, Eclipse, Net Beans, JDeveloper, etc.) or editor (e.g., a Windows command line "more" of the .java file's first screen).

b. A listing of your entire modified version of the Java source code for and in the same Microsoft Word file as item a), and following item a). You may simply copy and paste the text from your IDE into Microsoft Word. Make sure to maintain proper code alignment by using Courier font for this item. Do not submit the original source code files!

c. A screen snapshot showing all of your program’s inputs and output in the same Microsoft Word file, and following item b) above. 

Your instructor will compile and run your program to verify that it compiles and executes properly.

You will be evaluated on (in order of importance):

Inclusion of all deliverables in Step #4 in a single Microsoft Word file.

Correct execution of your program. This includes getting the correct results with the modified class files!

Adequate commenting of your code.

Tutor Answer

(Top Tutor) Daniel C.
School: University of Virginia

Studypool has helped 1,244,100 students

Review from our student for this Answer

Apr 3rd, 2015
"The best tutor out there!!!!"
Ask your homework questions. Receive quality answers!

Type your question here (or upload an image)

1828 tutors are online

Brown University

1271 Tutors

California Institute of Technology

2131 Tutors

Carnegie Mellon University

982 Tutors

Columbia University

1256 Tutors

Dartmouth University

2113 Tutors

Emory University

2279 Tutors

Harvard University

599 Tutors

Massachusetts Institute of Technology

2319 Tutors

New York University

1645 Tutors

Notre Dam University

1911 Tutors

Oklahoma University

2122 Tutors

Pennsylvania State University

932 Tutors

Princeton University

1211 Tutors

Stanford University

983 Tutors

University of California

1282 Tutors

Oxford University

123 Tutors

Yale University

2325 Tutors