9.1: MonetaryCoin
Design and implement a class called MonetaryCoin that is derived from the Coin class . Store an integer in the MonetaryCoin that represents its value and add a method that returns its value. Add a toString method that appends a space followed by the coin’s value to the Coin’s String representation.
Driver. Instead of creating a main driver class, include a main method in the MonetaryCoin class itself to exercise the class’s behavior. Your method should create an array of 7 MonetaryCoin objects with values 1,5,10,25,50,100,100 and then iterate through the array, flipping in each coin. The method should then iterate through the array again, invoking the getValue method and adding up the resulting values. The String representation of each coin should then be printed on a line by itself, followed by, on a line by itself, the sum of the values that was computed (preceded by the label “Total Value: “.
THIS IS FOR MYPROGRAMMINGLAP
//********************************************************************
// Coin.java Author: Lewis/Loftus
//
// Represents a coin with two sides that can be flipped.
//********************************************************************
public class Coin
{
private final int HEADS = 0;
private final int TAILS = 1;
private int face;
//—————————————————————–
// Sets up the coin by flipping it initially.
//—————————————————————–
public Coin()
{
flip();
}
//—————————————————————–
// Flips the coin by randomly choosing a face value.
//—————————————————————–
public void flip()
{
face = (int) (Math.random() * 2);
}
//—————————————————————–
// Returns true if the current face of the coin is heads.
//—————————————————————–
public boolean isHeads()
{
return (face == HEADS);
}
//—————————————————————–
// Returns the current face of the coin as a string.
//—————————————————————–
public String toString()
{
String faceName;
if (face == HEADS)
faceName = “Heads”;
else
faceName = “Tails”;
return faceName;
}
}