Question

In: Computer Science

Design a class named Account that contains: A private String data field named accountNumber for the...

Design a class named Account that contains:

A private String data field named accountNumber for the account (default AC000).

A private double data field named balance for the account (default 0).

A private double data field named annualIntRate 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 account number and initial balance.

The accessor and mutator methods for accountNumber, balance, and annualIntRate

The accessor method for dateCreated. A method named getMonthlyIntRate() that returns the monthly interest rate (see note below).

A method named getMonthlyInt() that returns the monthly interest (see note below).

A method named withdraw that withdraws a specified amount from the account, do not allow withdrawing and give appropriate message if the withdraw amount is more than the balance.

A method named deposit that deposits a specified amount to the account, do not allow depositing if the amount is negative. Write java codes for the class. Note that you need to write java codes for all methods except the following methods: getMonthlyIntRate(), and getMonthlyInt(). However, for these two methods you need to write method header.

Write a test program that creates an Account object with an account number of AC1111, a balance of $25,000, and an annual interest rate of 3.5. Use the withdraw method to withdraw $3,500, use the deposit method to deposit $3,500, and print the balance, the monthly interest, and the date when this account was created

Solutions

Expert Solution

The following code consists of a Account Class which has data fields as accountNumber , balance , annualIntRate and dateCreated ..and two constructors as default and parameterised constructor ..and various accessor and mutator methods for the data fields ..also consists of withdraw , deposist functions and getMonthlyInt and getMonthIntRate whose function definiton has been assumed.

Code snippet and Screenshot

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package bank;

import java.util.Date;

/**
 *
 * @author vijay
 */

class Account{
    private String accountNumber;//stores the account number
    private double balance;//stores the balance
    private double annualIntRate;//stores the annual interest rate
    private Date dateCreated ;//stores the date created
    
    Account()//NO argument constructor
    {
        accountNumber="AC000";//set account number to default value
        balance=0;//set default balance
        annualIntRate=0;//set annualIntRate as default
        dateCreated=new Date();//initialize date as current date
    }
    Account(String accountNumber,double balance)//Parameterised constructor
    {
        this.accountNumber=accountNumber;//initialise accountNumber
        this.balance=balance;//initialise balance
       annualIntRate=3.5;//set annualIntRate to 3.5 as given in question
       dateCreated=new Date();//initialize date as current date
    }
    String getAccountNumber() //accessor method for accountNumber
    {
        return accountNumber;
    }
    double getBalance()//accessor method for balance
    {
        return balance;
    }
    double getAnnualIntRate()//accessor method for annualIntRate
    {
        return annualIntRate;
    }
    Date getDateCreated()//accessor method for dateCreated
    {
        return dateCreated;
    }
    void setAccountNumber(String accountNumber)//mutator method for accountNumber
    {
        this.accountNumber=accountNumber;
    }
    void setBalance(double balance)//mutator method for balance
    {
        this.balance=balance;
    }
    void setAnnualIntRate(double annualIntRate)//mutator method for annualIntRate
    {
        this.annualIntRate=annualIntRate;
    }
    
    double getMonthlyIntRate()//returns the monthly interest rate
    {
        return annualIntRate/12;//assumed the definition
    }
    double getMonthlyInt()//returns the monthly interest
    {
        return ((annualIntRate)/1200)*balance;//assumeed the definition
    }
    void withdraw(double amount)//withdraws a particular amount from account
    {
        if(amount>balance)//check if amount exceeds balance
        {
            System.out.println("Insufficient balance");//notify the user
        }
        else
        {
            balance-=amount;//deduct the amount from balance
            System.out.println("Successfully withdrawed "+amount);//notify the user
        }
    }
    void deposit(double amount)//deposits a particular amount in account
    {
       if(amount<=0)//check if amount is negative
       {
           System.out.println("amount deposited must be greater than 0");//notify the user
       }
       else
       {
           balance+=amount;//add the amount in balance
            System.out.println("Successfully deposited "+amount);//notify the user
       }
    }
    
    
}

public class Bank {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        //Input as given in question
   Account accn=new Account("AC1111",25000);
   double withdrawalAmount=3500;
   accn.withdraw(withdrawalAmount);
   double deposited=3500;
   accn.deposit(deposited);
   System.out.println("Balance :"+ accn.getBalance()+"\nMonthly interest :"+accn.getMonthlyInt()+"\nAccount created on :"+accn.getDateCreated());
    
    
    }
    
}

Screenshot


Related Solutions

Java - Design a class named Account that contains: A private String data field named accountNumber...
Java - Design a class named Account that contains: A private String data field named accountNumber for the account (default AC000). A private double data field named balance for the account (default 0). A private double data field named annualIntRate 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....
Design a class named Account that contains: A private int data field named id for the...
Design a class named Account that contains: A private int data field named id for the account. A private double data field named balance for the account. A private double data field named annualInterestRate that stores the current interest rate. A no-arg constructor that creates a default account with id 0, balance 0, and annualInterestRate 0. The accessor and mutator methods for id, balance, and annualInterestRate. A method named getMonthlyInterestRate() that returns the monthly interest rate. A method named withdraw(amount)...
THIS IS JAVA PROGRAMMING Design a class named Account (that contains 1. A private String data...
THIS IS JAVA PROGRAMMING Design a class named Account (that contains 1. A private String data field named id for the account (default 0). 2. A private double data field named balance for the account (default 0). 3. A private double data field named annualInterestRate that stores the current interest rate (default 0). 4. A private Date data field named dateCreated that stores the date when the account was created. 5. A no-arg constructor that creates a default account. 6....
7.3 (The Account class) Design a class named Account that contains: ■ A private int data...
7.3 (The Account class) Design a class named Account that contains: ■ A private int data field named id for the account. ■ A private float data field named balance for the account. ■ A private float data field named annualInterestRate that stores the current interest rate. ■ A constructor that creates an account with the specified id (default 0), initial balance (default 100), and annual interest rate (default 0). ■ The accessor and mutator methods for id, balance, and...
In c++ Design a class named Account that contains: a.An int data field named id for...
In c++ Design a class named Account that contains: a.An int data field named id for the account. b.A double data field named balancefor the account. c.A double data field named annualInterestRate that stores the current interestrate. d.A no-arg constructor that creates a default account with id 0, balance 0, andannualInterestRate 0. e.The set and get functions for id,balance, and annualInterestRate. f.A functionearnedAmount()that calculates and returns the amount of dollars earned after one year. g.A function named printAccountInfo() that print...
In Java, design a class named MyInteger. The class contains: An int data field named value...
In Java, design a class named MyInteger. The class contains: An int data field named value that stores the int value represented by this object. A constructor that creates a MyInteger object for the specified int A get method that returns the int Methods isEven(), isOdd(), and isPrime() that return true if the value is even, odd, or prime, respectively. Static methods isEven(int), isOdd(int), and isPrime(int) that return true if the specified value is even, odd, or prime, respectively. Static...
Write a C++ program (The Account Class) Design a class named Account that contains (keep the...
Write a C++ program (The Account Class) Design a class named Account that contains (keep the data fields private): a) An int data field named id for the account. b) A double data field named balance for the account. c) A double data field named annualInterestRate that stores the current interest rate. d) A no-arg constructor that creates a default account with id 0, balance 0, and annualInterestRate 0. e) The accessor and mutator functions for id, balance, and annualInterestRate....
python3 Design a class named Histogram to display a histogram of data. The Histogram class contains...
python3 Design a class named Histogram to display a histogram of data. The Histogram class contains the following A number of instance variables/fields to store a histogram of data. You can design them by your own. A constructor that creates a histogram with the following a list of data. It may have more than 2 columns. x_width: the width of the 1st column in the horizontal histogram. The default value is 5. y_width: the width of the 2nd column in...
Create a class named Horse that contains the following data fields: name - of type String...
Create a class named Horse that contains the following data fields: name - of type String color - of type String birthYear - of type int Include get and set methods for these fields. Next, create a subclass named RaceHorse, which contains an additional field, races (of type int), that holds the number of races in which the horse has competed and additional methods to get and set the new field. ------------------------------------ DemoHorses.java public class DemoHorses {     public static void...
Design a class named Fan to represent a fan. The class contains: ■ Three constants named...
Design a class named Fan to represent a fan. The class contains: ■ Three constants named SLOW, MEDIUM, and FAST with the values 1, 2, and 3 to denote the fan speed. ■ A private int data field named speed that specifies the speed of the fan (the default is SLOW). ■ A private boolean data field named on that specifies whether the fan is on (the default is false). ■ A private double data field named radius that specifies...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT