Java Program BANKACCOUNT AND PROGRAM2

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

Question description

Enter the code for the two classes "BankAccount.java" and "Program2.java" 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(System.in);

// 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.");

account.deposit(pay);

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();

account.withdraw(cashNeeded);

// Add the monthly interest to the account.

account.addInterest();

// 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 (BankAccount.java first and Program2.java second); then execute Program2 with the following inputs:

starting balance -

$500

(don't enter the dollar sign)

monthly interest rate -

0.00125

(this is a 1.5% annual rate)

monthly pay -

$1000

(don't enter the dollar sign)

withdrawal amount -

$900

(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 -

$500

(don't enter the dollar sign)

annual interest rate -

1.5

monthly pay -

$1000

(don't enter the dollar sign)

withdrawal amount -

$900

(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 Program2.java and BankAccount.java (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 Program2.java and BankAccount.java 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.
(997)
School: University of Virginia
PREMIUM TUTOR

Studypool has helped 1,244,100 students

8 Reviews


Summary
Quality
Communication
On Time
Value
kevin12622
Nov 30th, 2016
" Goes above and beyond expectations ! "
kiln82
Nov 21st, 2016
" awesome work thanks "
ashleyisgod
Nov 16th, 2016
" Top quality work from this guy! I'll be back! "
likeplum4
Nov 7th, 2016
" Excellent work as usual "
Molly_Moon
Oct 25th, 2016
" AMAZING as always! "
kpcutie
Oct 16th, 2016
" Excellent job "
Hemapathy
Oct 2nd, 2016
" all I can say is wow very fast work, great work thanks "
pmallory
Sep 23rd, 2016
" Totally impressed with results!! :-) "
Ask your homework questions. Receive quality answers!

Type your question here (or upload an image)

1823 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