Java Reference
In-Depth Information
Listing 3-62 's constructor accepts a denomination value, which it assigns to a
private blankfinalfieldnamed denomValue —allfieldsshouldbedeclared final
becauseconstantsareimmutable.Noticethatthisvalueispassedtoeachconstantduring
its creation ( PENNY(1) , for example).
Caution Whenthecomma-separatedlistofconstantsisfollowedbyanythingother
thananenum'sclosingbrace,youmustterminatethelistwithasemicolonorthecom-
piler will report an error.
Furthermore, this listing's denomValue() method returns denomValue , and its
toDenomination() methodreturnstheumberofcoinsofthatdenominationthatare
contained within the umber of pennies passed to this method as its argument. For ex-
ample, 3 nickels are contained in 16 pennies.
Listing 3-63 shows you how to use the enhanced Coin enum.
Listing 3-63. Exercising the enhanced Coin enum
class Coins
{
public static void main(String[] args)
{
if (args.length == 1)
{
int umPennies = Integer.parseInt(args[0]);
System.out.println(numPennies+" pennies is equi-
valent to:");
int
umQuarters
=
Coin.QUARTER.toDenomination(numPennies);
System.out.println(numQuarters+"
"+Coin.QUARTER.toString()+
(numQuarters != 1 ? "s," :
","));
numPennies
-=
umQuar-
ters*Coin.QUARTER.denomValue();
int
umDimes
=
Coin.DIME.toDenomination(numPennies);
System.out.println(numDimes+"
"+Coin.DIME.toString()+
 
Search WWH ::




Custom Search