Design and development of significantly sized software using top-down design and bottom-up implementation. Dynamically allocated data, object-oriented programming, architecture of memory, basics of language translation, and basics of algorithm analysis. Development of simple graphical user interfaces. Prerequisite: CS 110 (grade of C or better).

Lab 6 - ATM User Interface - (50 points)



Due date: 4/15/2016 at 11:59pm

Objectives



  • Learn how to use user interface elements in Java
  • Familiarize yourself with inheritance
  • Gain some experience with using exceptions
Create a directory called lab6. For this lab, you will simulate the experience of interacting with an ATM. Create two classes: CheckingAccount and SavingsAccount that inherit from the base class - BankAccount. You can decide the attributes that the classes contain.

The ATM user interface must have the following functionality.

  • Display the current balance on both the checking and savings account.
  • Allow a user to make a deposit into either of the accounts. Hint: Consider using a radio button
  • Allow a user to withdraw money from either one of the accounts.
  • Use exceptions to prevent a user from withdrawing more money than they have in their checking/savings account when they are withdrawing money.
  • Move user specified funds from checking to savings or from savings to checking.
  • Display an Exit button that exits the program when the user is done.

Submitting the assignment



  • Submit all your Java files as well as your README.
  • You can resubmit the assignment as many times as you want. It will upload a new copy of the files to the SVN repository. We will only grade the one that is closest to 11:59pm on the due date.