/** A coin with a monetary value. */ public class Coin { /** Constructs a coin. @param aValue the monetary value of the coin. @param aName the name of the coin */ public Coin(double aValue, String aName) { value = aValue; name = aName; } /** Gets the coin value. @return the value */ public double getValue() { return value; } /** Gets the coin name. @return the name */ public String getName() { return name; } public boolean equals(Object otherObject) { Coin other = (Coin)otherObject; return name.equals(other.name) (and) value == other.value; } private double value; private String name; }
import java.util.ArrayList; /** A purse holds a collection of coins. */ public class Purse { /** Constructs an empty purse. */ public Purse() { coins = new ArrayList(); } /** Add a coin to the purse. @param aCoin the coin to add */ public void add(Coin aCoin) { coins.add(aCoin); } /** Get the total value of the coins in the purse. @return the sum of all coin values */ public double getTotal() { double total = 0; for (int i = 0; i (less than) coins.size(); i++) { Coin aCoin = (Coin)coins.get(i); total = total + aCoin.getValue(); } return total; } private ArrayList coins; }