Write a method for the Purse class public boolean sameContents(Purse other) that checks whether the other purse has the same coins in the same order.
Complete the following class in your solution:
import java.util.ArrayList;
/**
A purse holds a collection of coins.
*/
public class Purse
{
private ArrayList coins;
/**
Constructs an empty purse.
*/
public Purse()
{
coins = new ArrayList();
}
/**
Add a coin to the purse.
@param coinName the coin to add
*/
public void addCoin(String coinName)
{
. . .
}
/**
Returns a string describing the object.
@return a string in the format "Purse[coinName1,coinName2,...]"
*/
public String toString()
{
. . .
}
/**
Determines if a purse has the same coins in the same
order as another purse.
@param other the other purse
@return true if the two purses have the same coins in the
same order, false otherwise
*/
public boolean sameContents(Object other)
{
. . .
}
}
Use the following class as your tester class:
/**
This class tests the Purse class.
*/
public class PurseTester
{
public static void main(String[] args)
{
Purse a = new Purse();
a.addCoin("Quarter");
a.addCoin("Dime");
Purse b = new Purse();
b.addCoin("Quarter");
b.addCoin("Dime");
System.out.println(a.sameContents(b));
System.out.println("Expected: true");
Purse c = new Purse();
c.addCoin("Nickel");
c.addCoin("Dime");
c.addCoin("Nickel");
Purse d = new Purse();
d.addCoin("Nickel");
d.addCoin("Dime");
d.addCoin("Quarter");
System.out.println(c.sameContents(d));
System.out.println("Expected: false");
Purse e = new Purse();
e.addCoin("Nickel");
e.addCoin("Dime");
e.addCoin("Nickel");
Purse f = new Purse();
f.addCoin("Nickel");
f.addCoin("Dime");
System.out.println(e.sameContents(f));
System.out.println("Expected: false");
}
}