11. Treasure Hunt
Create an interface Currency that has a double getGoldValue()
method that returns the number of grams of gold that equal the worth
of the item.
Create a BankNote class that implements the Currency interface. A
BankNote should be created in denominations of 1, 2, 5, 10, 20, 50,
or 100, although you need not enforce this. A BankNote represents a
single bill, so you might have lots of them. Add a toString method
(see example code below).
BankNote b = new BankNote(100);
System.out.println(b); // prints "$100"
In your Main class, make a function public static double loot (ArrayList<Object> pile). This function should find the total of all
of the gold the Currency items in the pile are worth. To make the
function more interesting, we will put not only Currency items but
also Cats in the pile, so your function has to dig through a pile of
cats looking for the currency and then find out how much gold the
currency it finds is worth.
Testing in Main: create an arraylist of 11 objects. Build it up one by
one. Add a RandomCat with probability 40% and a BankNote
otherwise. Give the bank note a random value: 100 (20% of the time), 50 (65% of
the time), and 20 the rest of the time.