The purpose of this assignment is to practice building a


Object Oriented Design and Programming Assignment

The purpose of this assignment is to practice building a GUI based program in Java, to use HashMaps and file IO. This assignment continues the scenario from assignment 1.

Standard Level

Your program will provide a swing based GUI that allows a user to:

1. Issue a new card (basic or multi)
2. Load a card with AUD
3. Convert AUD to another currency (MultiCard only)
4. Make a purchase
5. Show a selected card's balance/balances and overall value
6. Show a selected card's purchase history
7. Show a selected card's total spend in each country
8. Show the total value of all cards
9. Show the total amount of each currency in all cards
10. Show the total amount spent in each country
11. Show the list of all cards (id, name, value) in created order / value order

Your program will also support storage of Card data into and out-of a text file. In a real system a database would be used. Here we wish to practise file IO. When a database is used the record data would be normalised into separate card and purchase tables. Here we want an easy way to store then load card data which for each card will include its purchase history (which will not be normalised).

An example text file card record is:

BC,C001,Fred,500,2,20180130,Australia,AUD,35,Food, 20180201,Australia,AUD,12.5,Food This record has two main parts:

Part 1: BC,C001,Fred,500,2

BC a basic card C001 the card id Fred the card name
500 the balance for the basic card
2 the number of purchases made

Part 2: 20180130,Australia,AUD,35,Food, 20180201,Australia,AUD,12.5,Food Two purchase records in the format: date, location, currency, amount, and description

The above format does not have a fixed number of fields per line, as the number of comma delimited fields depends on the number of purchases a card has made.

Where appropriate your program will use a HashMap to aggregate data and to store currency tables (rather than using a 2D array or co-ordinated array as in assignment 1). Your program will use the appropriate sort methods for sorting cards (in GUI requirement 11).

Students who wish to submit and advanced assignment must ensure that have already met all the standard requirements. That is, the advanced features will only be marked after ensuring that all standard requirements have been met.

Request for Solution File

Ask an Expert for Answer!!
JAVA Programming: The purpose of this assignment is to practice building a
Reference No:- TGS02768388

Expected delivery within 24 Hours