/** * The GRQ2 class implements an application that invokes the * BankAcc2 class to manage some simple banking transactions * in a snazzier way than the previous version. */ ----------------------------------------------------------- public class GRQ2 // save as GRQ2.java { public static void main(String [] args) throws Exception { BankAcc2.getNumAccs(); BankAcc2 owen = new BankAcc2(); owen.deposit(5000.75); owen.getBalance(); BankAcc2.getNumAccs(); System.out.println("Your account number is " + owen.getAccNo()); BankAcc2 feit = new BankAcc2(5000.75); System.out.println("Your account number is " + feit.getAccNo()); feit.spend(3000.50); feit.getBalance(); BankAcc2.getNumAccs(); } } // end of class GRQ2 ----------------------------------------------------------- public class BankAcc2 // save as BankAcc2.java { // ------------- class constants ------------------------------ private final static int SAVINGS_NO = 5000; private final static int CHQKING_NO = 0; private final static int MAX_ACCOUNTS = 10000; // ------------- instance data fields ------------------------- private double balance; private int accountNumber; // ------------- static data fields --------------------------- private static int numAccs = 0; private static int [] accNos = new int[MAX_ACCOUNTS]; // ------------- static operations ---------------------------- static { for (int i = 0; i<accNos.length; i++) accNos[i] = CHQKING_NO + 1 + i; } // ------------- instance methods ----------------------------- public double getBalance() { return balance; } public void setBalance( double amt ) { balance = amt; } public int getAccNo() { return accountNumber; } public void spend( double amt ) { balance -= amt; System.out.println("you spent " + amt); } public void deposit( double amt ) { balance += amt; System.out.println("you deposited " + amt);} // ------------- static class methods ------------------------- public static void getNumAccs() { System.out.println(numAccs + " accounts have been created"); } // ------------- class constructors --------------------------- public BankAcc2( double amt ) { setBalance(amt); numAccs++; accountNumber = SAVINGS_NO + numAccs; } public BankAcc2() { this(0.0); } } // end of class BankAcc2