The programming assignment is to implement a class Purse. A purse
contains a collection of coins. Each coin object must contain its
name. You should not put a limit on the number of coins that a purse
can hold. This program should provide the user with the ability to
display the contents of the purse, add coins, count coins, calculate
the amount of money in purse and for extra credit, spend coins. You
will need 2 Java Object Classes: one to define the Coin objects, and
one for the Purse object.
There is a sample PurseTester class and its output. You are required
to use this class to test your code but you may make modifications to
the method calls to match your method names.
public class PurseTester {
public static void main(String[] args)
{
Purse myPurse = new Purse();
System.out.println("Created my purse!");
System.out.println("My Purse = " + myPurse.toString());
System.out.println(String.format("Total value = $%.2f\n",
myPurse.getTotalValue()));
System.out.println("Trying to add an invalid coin called
Dollar...");
myPurse.addCoin(new Coin("Dollar"));
System.out.println("My Purse = " + myPurse.toString());
System.out.println(String.format("Total value = $%.2f\n",
myPurse.getTotalValue()));
System.out.println("Adding coins to purse");
myPurse.addCoin(new Coin(Coin.PENNY));
myPurse.addCoin(new Coin(Coin.NICKEL));
myPurse.addCoin(new Coin(Coin.PENNY));
myPurse.addCoin(new Coin(Coin.PENNY));
myPurse.addCoin(new Coin(Coin.QUARTER));
myPurse.addCoin(new Coin(Coin.QUARTER));
System.out.println("My Purse = " + myPurse.toString());
System.out.println("I have " + myPurse.countCoin(Coin.PENNY) +
" pennies, " +
myPurse.countCoin(Coin.NICKEL)
+ " nickels, " +
myPurse.countCoin(Coin.DIME) +
" dimes, and " +
myPurse.countCoin(Coin.QUARTER)
+ "quarters.");
System.out.println(String.format("Total value = $%.2f\n",
myPurse.getTotalValue()));
/* extra credit from here on down */
System.out.println("Attempting to spend dime that you don't have.");
if (myPurse.spendCoin(Coin.DIME))
System.out.println(Coin.DIME + " was spent!");
else
System.out.println("No " + Coin.DIME + " was found in
purse!");
System.out.println("\nAdding a dime.");
myPurse.addCoin(new Coin(Coin.DIME));
System.out.println("My Purse = " + myPurse.toString());
System.out.println("I have " + myPurse.countCoin(Coin.PENNY) +
" pennies, " +
myPurse.countCoin(Coin.NICKEL)
+ " nickels, " +
myPurse.countCoin(Coin.DIME) +
" dimes, and " +
myPurse.countCoin(Coin.QUARTER)
+ "quarters.");
System.out.println(String.format("Total value = $%.2f\n",
myPurse.getTotalValue()));
System.out.println("Spending all my money...");
myPurse.spendCoin(Coin.DIME);
myPurse.spendCoin(Coin.QUARTER);
myPurse.spendCoin(Coin.QUARTER);
myPurse.spendCoin(Coin.PENNY);
myPurse.spendCoin(Coin.PENNY);
myPurse.spendCoin(Coin.NICKEL);
myPurse.spendCoin(Coin.PENNY);
System.out.println("My Purse = " + myPurse.toString());
System.out.println(String.format("Total value = $%.2f\n",
myPurse.getTotalValue()));
}
}
Output from PurseTester
Created my purse!
My Purse = Purse[]
Total value = $0.00
Trying to add an invalid coin called Dollar...
My Purse = Purse[]
Total value = $0.00
Adding coins to purse
My Purse = Purse[Penny,Nickel,Penny,Penny,Quarter,Quarter]
I have 3 pennies, 1 nickels, 0 dimes, and 2 quarters.
Total value = $0.58
Attempting to spend dime that you don't have.
No Dime was found in purse!
Adding a dime.
My Purse = Purse[Penny,Nickel,Penny,Penny,Quarter,Quarter,Dime]
I have 3 pennies, 1 nickels, 1 dimes, and 2 quarters.
Total value = $0.68
Spending all my money...
My Purse = Purse[]
Total value = $0.00
Chase Preuninger - 30 Apr 2008 02:29 GMT
If you don't want to limit the amount of coins then you should use
something like an ArrayList instead of an array.
Arved Sandstrom - 30 Apr 2008 07:30 GMT
> The programming assignment is to implement a class Purse. A purse
> contains a collection of coins. Each coin object must contain its
[quoted text clipped - 8 lines]
> to use this class to test your code but you may make modifications to
> the method calls to match your method names.
[ SNIP ]
I am compelled to ask...what institution or individual is offering the
course in which this assignment was given?
AHS
Sabine Dinis Blochberger - 30 Apr 2008 10:15 GMT
> The programming assignment is to implement a class Purse. A purse
> contains a collection of coins. Each coin object must contain its
[quoted text clipped - 4 lines]
> will need 2 Java Object Classes: one to define the Coin objects, and
> one for the Purse object.
Create your classes Purse and Coin first. Decide what attributes Coin
has. Decide what methods Purse has. All these requirements are described
above.
> There is a sample PurseTester class and its output. You are required
> to use this class to test your code but you may make modifications to
> the method calls to match your method names.
This is give to you as is below? It gives you hints what methods and
attributes are expected, but it lets you change the names if you want
to. You don't need to change anything in this code if you keep the
names.
snip code
Create your basic classes and ask a more specific question, it's no use
if someone else does your practise work for you.

Signature
Sabine Dinis Blochberger
Op3racional
www.op3racional.eu