Refresh your knowledge and skill in Java.


The objectives of this assignment are to:

  1. Refresh your knowledge and skill in Java.
  2. Gain experience and skill in file I/O.
  3. Gain experience with a debugger.
  4. Gain understanding of the need to organized data in memory.
  5. Refresh your understanding of Javadoc documentation.
  6. Refresh your practice of good programming techniques.


You have been asked to create a program for a Bank to process a set of transactions (i.e., deposit and withdraw) against a set of accounts, and produce a statement for each account.  Input to the program will be two files one containing a list of accounts and the other a list of transactions.  Both files are binary.  Output will be a report to standard out. The format of each file is as follows:


Accounts.dat a binary file containing a set of records.  Each record represents an account.  The format of a record is:


Fields Description
Account number 4 byte two’s compliment
First name 10 bytes ASCII, blank padded
Middle Initial 1 byte ASCII
Last name 10 bytes ASCII, blank padded
Balance Double precision floating point


Transactions.dat a binary file containing a set of records.  Each record represents an account.  The format of a record is:


Fields Description
Account number 4 byte two’s compliment
Date 1 byte two’s compliment for month, followed by 1 byte two’s compliment for day, followed by 2 bytes two’s complement year
Type 1 byte ASCII – either D for deposit or W for withdraw
Amount Double precision floating point


Your program should pass the files in the on the command line.  In the event the files are not passed on the command line, then ask the user to enter the file names for the accounts, transaction, and new accounts files.  Using those files, the program will process the transactions and print the statement report.  A sample output of the statement report is as follows:


Bank Statement


Account No        : 73829123

Account Name      : Bill T Smith

Beginning Balance : $  1030.50

Ending Balance    : $  1018.28


**Transaction Detail**


Date      Type      Amount       Balance

10/12/09  Withdraw  $   500.00   $   530.50

10/13/09  Withdraw  $   300.00   $   230.50

10/14/09  Deposit   $  1287.78   $  1518.28

10/15/09  Withdraw  $   500.00   $  1018.28




Bank Statement


Account No        : 73829999

Account Name      : Mary P Jones

Beginning Balance : $  3000.89

Ending Balance    : $  3500.89


**Transaction Detail**


Date      Type      Amount       Balance

10/16/09  Deposit   $   500.00   $  3500.89



  • Your source code should use proper object-oriented style.  That is, the main program should only instantiate a class and call major methods that perform all of the work.
  • Your source code should be documented using Javadoc style according to the course standards.
  • Follow good programming practices.  Naming conventions, separation of io from business objects, indentation, etc.
  • Your test program must be named RunBankStatements.
  • Define all classes in packages or subpackages of
  • Input requires processing two blank padded fields.  Develop some means to define the input of blank padded fields in just one place.
  • Provide an appropriate set of getter and setter methods (i.e., don’t provide setters for fields that cannot be changed).
  • Do not providea setBalance method for an account.  Instead provide a processTransaction method.  It should adjust the accounts balance accordingly and record the transaction for the account.
  • Hide the representation of the one to many relationships between a bank and accounts and between accounts and transactions.  Provide some means to iterate over the many.



  1. A zip file of your project named containing all source files and class files.  For example, if your name is John Smith, the file name should be  Upload to moodle by the due date.
  2. Printout of all source files submitted by the due date and time. Submission is not complete until both the zip file and the print outs are received.  Plan ahead when printing your code prior to class.
  3. Printout of the output from your program.



All papers should submitted as a single packet and stapled in the upper left corn

Are you looking for a similar paper or any other quality academic essay? Then look no further. Our research paper writing service is what you require. Our team of experienced writers is on standby to deliver to you an original paper as per your specified instructions with zero plagiarism guaranteed. This is the perfect way you can prepare your own unique academic paper and score the grades you deserve.

Use the order calculator below and get started! Contact our live support team for any assistance or inquiry.