Q:

(The Account class) Design a class named Account that contains:

0

(The Account class) Design a class named Account that contains:

A private int data field named id for the account (default 0).
A private double data field named balance for the account (default 0).
A private double data field named annualInterestRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate.
A private Date data field named dateCreated that stores the date when the account was created.
A no-arg constructor that creates a default account.
A constructor that creates an account with the specified id and initial balance.
The accessor and mutator methods for id, balance, and annualInterestRate.
The accessor method for dateCreated.
A method named getMonthlyInterestRate() that returns the monthly interest rate.
A method named getMonthlyInterest() that returns the monthly interest.
A method named withdraw that withdraws a specified amount from the account.
A method named deposit that deposits a specified amount to the account.

Draw the UML diagram for the class and then implement the class. (Hint: The method getMonthlyInterest() is to return monthly interest, not the interest rate. Monthly interest is balance * monthlyInterestRate. monthlyInterestRate is annualInterestRate / 12. Note that annualInterestRate is a percentage, e.g., like 4.5%. You need to divide it by 100.)

Write a test program that creates an Account object with an account ID of 1122, a balance of $20,000, and an annual interest rate of 4.5%. Use the withdraw method to withdraw $2,500, use the deposit method to deposit $3,000, and print the balance, the monthly interest, and the date when this account was created.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

/**********************************************************************************
* (The Account class) Design a class named Account that contains:                 *
*                                                                                 *
* ■ A private int data field named id for the account (default 0).                *
* ■ A private double data field named balance for the account (default 0).        *
* ■ A private double data field named annualInterestRate that stores the current  *
*   interest rate (default 0). Assume all accounts have the same interest rate.   *
* ■ A private Date data field named dateCreated that stores the date when the     *
*   account was created.                                                          *
* ■ A no-arg constructor that creates a default account.                          *
* ■ A constructor that creates an account with the specified id and initial       *
*   balance.                                                                      *
* ■ The accessor and mutator methods for id, balance, and annualInterestRate.     *
* ■ The accessor method for dateCreated.                                          *
* ■ A method named getMonthlyInterestRate() that returns the monthly              *
*   interest rate.                                                                *
* ■ A method named getMonthlyInterest() that returns the monthly interest.        *
* ■ A method named withdraw that withdraws a specified amount from the            *
*   account.                                                                      *
* ■ A method named deposit that deposits a specified amount to the account.       *
*                                                                                 *
* Draw the UML diagram for the class and then implement the class. (Hint: The     *
* method getMonthlyInterest() is to return monthly interest, not the interest     *
* rate. Monthly interest is balance * monthlyInterestRate. monthlyInterestRate    *
* is annualInterestRate / 12. Note that annualInterestRate is a percentage,       *
* e.g., like 4.5%. You need to divide it by 100.)                                 *
*                                                                                 *
* Write a test program that creates an Account object with an account ID of 1122, *
* a balance of $20,000, and an annual interest rate of 4.5%. Use the withdraw     *
* method to withdraw $2,500, use the deposit method to deposit $3,000, and print  *
* the balance, the monthly interest, and the date when this account was created.  *
/*********************************************************************************/

public class Exercise_09_07 {
	/** Main method */
	public static void main(String[] args) {
		// Create an Account object with an account
		// ID of 1122, and a balance of $20,000
		Account account = new Account(1122, 20000);

		// Set annual interest rate of 4.5%
		account.setAnnualInterestRate(4.5);

		// Withdraw $2,500
		account.withdraw(2500);

		// Deposit $3,000
		account.deposit(3000);

		// Display the balance, the monthly interest, 
		// and the date when this account was created
		System.out.println("\n          Account Statement");
		System.out.println("------------------------------------------");
		System.out.println("Account ID: " + account.getId());
		System.out.println("Date created: " + account.getDateCreated());
		System.out.printf("Balance: $%.2f\n", account.getBalance());
		System.out.printf("Monthly interest: $%.2f\n", 
			account.getMonthlyInterest());
	}
}

Account.java

/********************************************************
*                     Account                           *
*-------------------------------------------------------*
* -id: int                                              *
* -balance: double                                      *
* -annualInterestRate: double                           *
* ---------------------------                           *
* -dateCreated: String                                  *
* +Account()                                            *
* +Account(newid: int, newBalance: double)              *
* +setId(newId: int)                                    *
* +setBalance(newBalance: double)                       *
* +setAnnualInterestRate(newAnnualInterestRate: double) *
* +getId(): int                                         *
* +getBalance(): double                                 *
* +getAnnualInterestRate(): double                      *
* +getDateCreated(): String                             *
* +getMonthlyInterestRate(): double                     *
* +getMonthlyInterest(): double                         *
* +withdraw(amount: double)                             *
* +deposit(amount: double)                              *
********************************************************/

// Implement the Account class
import java.util.Date;

public class Account {
	// Data fields
	private int id;
	private double balance;
	private static double annualInterestRate;
	private Date dateCreated;

	// Constructors
	/** Creates a default account */
	Account() {
		id = 0;
		balance = 0;
		annualInterestRate = 0;
		dateCreated = new Date(); 
	}

	/** Creates an account with the specified id and initial balance */
	Account(int newId, double newBalance) {
		id = newId;
		balance = newBalance;
		dateCreated = new Date();
	}

	// Mutator methods
	/** Set id */
	public void setId(int newId) {
		id = newId;
	}

	/** Set balance */
	public void setBalance(double newBalance) {
		balance = newBalance;
	}

	/** Set annualInterestRate */
	public void setAnnualInterestRate(double newAnnualInterestRate) {
		annualInterestRate = newAnnualInterestRate;
	}

	// Accessor methods
	/** Return id */
	public int getId() {
		return id;
	}

	/** Return balance */
	public double getBalance() {
		return balance;
	}

	/** Return annualInterestRate */
	public double getAnnualInterestRate() {
		return annualInterestRate;
	}

	/** Return dateCreated */
	public String getDateCreated() {
		return dateCreated.toString();
	}

	/** Return monthly interest rate */
	public double getMonthlyInterestRate() {
		return annualInterestRate / 12;
	}

	// Methods
	/** Return monthly interest */
	public double getMonthlyInterest() {
		return balance * (getMonthlyInterestRate() / 100);
	}

	/** Decrease balance by amount */
	public void withdraw(double amount) {
		balance -= amount;
	}

	/** Increase balance by amount */
	public void deposit(double amount) {
		balance += amount;
	}
}

need an explanation for this answer? contact us directly to get an explanation for this answer
need an explanation for this answer? contact us directly to get an explanation for this answer

/**********************************************************************************
* (The Account class) Design a class named Account that contains:                 *
*                                                                                 *
* ■ A private int data field named id for the account (default 0).                *
* ■ A private double data field named balance for the account (default 0).        *
* ■ A private double data field named annualInterestRate that stores the current  *
*   interest rate (default 0). Assume all accounts have the same interest rate.   *
* ■ A private Date data field named dateCreated that stores the date when the     *
*   account was created.                                                          *
* ■ A no-arg constructor that creates a default account.                          *
* ■ A constructor that creates an account with the specified id and initial       *
*   balance.                                                                      *
* ■ The accessor and mutator methods for id, balance, and annualInterestRate.     *
* ■ The accessor method for dateCreated.                                          *
* ■ A method named getMonthlyInterestRate() that returns the monthly              *
*   interest rate.                                                                *
* ■ A method named getMonthlyInterest() that returns the monthly interest.        *
* ■ A method named withdraw that withdraws a specified amount from the            *
*   account.                                                                      *
* ■ A method named deposit that deposits a specified amount to the account.       *
*                                                                                 *
* Draw the UML diagram for the class and then implement the class. (Hint: The     *
* method getMonthlyInterest() is to return monthly interest, not the interest     *
* rate. Monthly interest is balance * monthlyInterestRate. monthlyInterestRate    *
* is annualInterestRate / 12. Note that annualInterestRate is a percentage,       *
* e.g., like 4.5%. You need to divide it by 100.)                                 *
*                                                                                 *
* Write a test program that creates an Account object with an account ID of 1122, *
* a balance of $20,000, and an annual interest rate of 4.5%. Use the withdraw     *
* method to withdraw $2,500, use the deposit method to deposit $3,000, and print  *
* the balance, the monthly interest, and the date when this account was created.  *
/*********************************************************************************/

public class Exercise_09_07 {
	/** Main method */
	public static void main(String[] args) {
		// Create an Account object with an account
		// ID of 1122, and a balance of $20,000
		Account account = new Account(1122, 20000);

		// Set annual interest rate of 4.5%
		account.setAnnualInterestRate(4.5);

		// Withdraw $2,500
		account.withdraw(2500);

		// Deposit $3,000
		account.deposit(3000);

		// Display the balance, the monthly interest, 
		// and the date when this account was created
		System.out.println("\n          Account Statement");
		System.out.println("------------------------------------------");
		System.out.println("Account ID: " + account.getId());
		System.out.println("Date created: " + account.getDateCreated());
		System.out.printf("Balance: $%.2f\n", account.getBalance());
		System.out.printf("Monthly interest: $%.2f\n", 
			account.getMonthlyInterest());
	}
}

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (2)

Similar questions


need a help?


find thousands of online teachers now