The completed program is given below.
The program has also been improved by accepting
input from the user.
The program uses the charAt( int index )String class.
This method returns a single character from a string.
The first character in a string is at index 0,
the next is at index 1, and so on.
(Remember: a String is an object, even if it contains only one character.
The charAt() method must be used here to get a char that
can be used in the switch.)
import java.util.Scanner;
class Switcher
{
public static void main ( String[] args )
{
String lineIn;
char color ;
String message = "Color is";
Scanner scan = new Scanner( System.in );
System.out.print("Enter a color letter: ");
lineIn = scan.nextLine();
color = lineIn.charAt( 0 ); // get the first character
switch ( color )
{
case 'r':
case 'R':
message = message + " red" ;
break;
case 'o':
case 'O':
message = message + " orange" ;
break;
case 'y':
case 'Y':
message = message + " yellow" ;
break;
case 'g':
case 'G':
message = message + " green" ;
break;
case 'b':
case 'B':
message = message + " blue" ;
break;
case 'v':
case 'V':
message = message + " violet" ;
break;
default:
message = message + " unknown" ;
}
System.out.println ( message ) ;
}
}
What would be wrong if the program were altered to something like:
switch ( lineIn )
{
case "red":
case "Red":
message = message + " red" ;
break;
. . . and so on