      1  /**

      2     A bank account has a balance and a mechanism for applying interest or fees at

      3     the end of the month.

      4  */

      5  public class BankAccount

      6  {

      7     private double balance;

      8

      9     /**

     10        Constructs a bank account with zero balance.

     11     */

     12     public BankAccount()

     13     {

     14        balance = 0;

     15     }

     16

     17     /**

     18        Makes a deposit into this account.

     19        @param amount the amount of the deposit

     20     */

     21     public void deposit(double amount)

     22     {

     23        balance = balance + amount;

     24     }

     25

     26     /**

     27        Makes a withdrawal from this account, or charges a penalty if

     28        sufficient funds are not available.

     29        @param amount the amount of the withdrawal

     30     */

     31     public void withdraw(double amount)

     32     {

     33        balance = balance - amount;

     34     }

     35

     36     /**

     37        Carries out the end of month processing that is appropriate

     38        for this account.

     39     */

     40     public void monthEnd()

     41     {

     42     }

     43

     44     /**

     45        Gets the current balance of this bank account.

     46        @return the current balance

     47     */

     48     public double getBalance()

     49     {

     50        return balance;

     51     }

     52  }