Java Reference
In-Depth Information
Display 6.15
The Method values (part 2 of 2)
Sample Dialogue
Enter hours worked for MONDAY
8
Enter hours worked for TUESDAY
8
Enter hours worked for WEDNESDAY
8
Enter hours worked for THURSDAY
8
Enter hours worked for FRIDAY
7.5
Total hours worked = 39.5
TIP: Enumerated Types in switch Statements
You can use an enumerated type to control a switch statement. In other words, the
type of the controlling expression in a switch statement can be an enumerated type.
This is illustrated in Display 6.16. Note that the case labels must be unqualified
names; use VANILLA , not Flavor.VANILLA .
This program uses the static method valueOf to convert an input string to a value
of the enumerated type. For example,
Flavor.valueOf("STRAWBERRY")
returns Flavor.STRAWBERRY . Note that the program changes the input to all
uppercase letters before giving it as an argument to the method valueOf . The method
valueOf requires an exact match. An invocation of Flavor.valueOf("Vanilla")
will end your program with an error message; 5 you must use "VANILLA" to match the
exact spelling (including upper- versus lowercase) of the value in Flavor .
At this point, you may wonder what the difference is between STRAWBERRY and
Flavor.STRAWBERRY and how to tell which one to use in a given situation. The value of
the enumerated type is STRAWBERRY . We write Flavor.STRAWBERRY to say we mean
STRAWBERRY as defi ned in Flavor , as opposed to STRAWBERRY as defi ned in some
other type, such as
enum Berry {STRAWBERRY. BLUEBERRY, RASPBERRY};
(continued)
5 After you cover exceptions in Chapter 9, you will be able to cope with answers such as PISTACHIO that
do not correspond to any value of type Flavor . An invocation of Flavor.valueOf ( "PISTACHIO" )
will throw an IlllegalArgumentException , something explained in Chapter 9 . Until then, your program
will simply give an error message when valueOf cannot cope with its argument.
 
 
Search WWH ::




Custom Search