ADT for ProcessBankAccount Members: private BankAccount [] private int n private FileWriter error Methods: Constructor: PRECONDITIONS: none INPUT: none PROCESS: none OUTPUT: none POSTCONDITIONS: none readArray PRECONDITIONS: file must exist and be able to be opened. INPUT: String, name of file to be opened. PROCESS: It opens the file given. It reads in the first element, which tells how many elements follow (and the size of the array of BankAccounts). It creates the array of BankAccount of size n. It then reads in the n elements and populates the array. OUTPUT: none POSTCONDITIONS: The array of BankAccount is created and populated. The value of n is assigned. printArray PRECONDITIONS: The array must have been created. INPUT: none PROCESS: It prints out the n elements of the BankAccount to the terminal window. OUTPUT: none POSTCONDITIONS: none processArray PRECONDITIONS: The file must exist and be able to be opened. INPUT: String, the name of the input file. PROCESS: This first opens the input file and opens via append the error file. It reads in one transaction at a time until the input file is empty (no more data). It processes each transaction. The output of each transaction is sent to the terminal window including the new balance of the accounts involved in the transactions. If a transaction can not be processed, it will also report the transaction and the error to the error file. OUTPUT: String POSTCONDITIONS: The BankAccounts and error file are changed. overdrawn PRECONDITIONS: none INPUT: none PROCESS: It prints out all of the accounts which have a negative balance. OUTPUT: none POSTCONDITIONS: none getArraySize PRECONDITIONS: none INPUT: none PROCESS: It returns n, the size of the array. OUTPUT: int POSTCONDITIONS: none getBankAccounts PRECONDITIONS: none INPUT: none PROCESS: It returns the array of BankAcounts. OUTPUT: BankAccount [ ] POSTCONDITIONS: none