Reference no: EM13984588
Programming Assignment #3
Creating a Class
As seen on TV: "The National Collector's Mint allows you to own a piece of history with their recreation proof of the $50 Gold Buffalo Coin, the purest gold coin ever produced by the U.S. Government.
Because of a shortage of gold blanks, the U.S. Government had to stop production on the $50 Gold Buffalo Coin, resulting in skyrocketing prices among the latest edition. However, the National Collector's Mint has now released its nonmonetary tribute proof of the famous coin. Clad in pure 24K gold, the $50 Gold Buffalo Tribute Proof comes with an individually numbered Certificate of Authenticity. Only $9.95! (Plus shipping and handling)"
If you listen closely, you learn that each coin contains 14 milligrams of pure gold! Is that a deal or what? Let's create a class to find out.
I. Your "GoldDigger" Class
Create a class with these instance variables:
• The name of the coin
• The current price of gold, per ounce
• The selling price of the coin
• The shipping and handling charges, per coin
• The sales tax rate
• The amount of gold in the coin, in milligrams
Your class will have a constructor to initialize the instance variables, accessor (i.e. "get") methods to return the values of the instance variables, and a mutator (i.e. "set") method that updates the price of an ounce of gold.
Your class will have 2 additional methods:
1. A method that computes and returns the number of coins one would have to purchase in order to own one full ounce of gold
2. A method that computes and returns the premium (the extra amount you would pay) when buying one ounce's worth of coins (total cost of the number of coins computed by the above method, including S & H and sales tax) versus buying an ounce of gold.
Sales tax must be paid on the entire order for the coins, including the S & H, but not when buying the gold outright.
II. The Test Class
Now create a test class (aka: "client code") that uses the class you created above. In the main method you will
1. create an object
2. call the accessor methods to get the data and print it
3. get and print the number of coins (method 1., above)
4. get and print the premium (method 2., above)
5. modify the price of an ounce of gold
6. get and print the updated price of gold
7. get and print the new premium
III. Additional Specifications
1. All numeric instance variables must be type double
2. All output is to be done in the test class. None of the GoldDigger class methods does any output
3. The test class must call the accessor methods to get the data stored in the instance variables, and must call separate methods to compute and return the number of coins and the premium
4. Make sure all output is neatly presented and clearly labeled
5. Do not be concerned with the number of decimal places printed - we will soon learn how to control that
Although your program must work for any valid data, use this data in the run you hand in:
Name of the coin: $50 Gold Buffalo
Price of gold, per ounce: 1242.30
Selling price of the coin: 9.95
Shipping and handling charges: 4.95
Sales tax rate: 7.5%
Amount of gold in the coin, in mg: 14.0
Updated price of gold: 1655.50
IV. What to Upload to Moodle
Upload a zip file containing both classes and the program output
V. Due Date: Thursday, February 25th
Use 28.35 as the number of grams per ounce. There are 1000 milligrams in a gram.