Of course. Any switch
statement can be done with nested if
s .
if
Statement Equivalent
If you need to select among several options based on complicated
requirements, use nested if
statements, or
if else if
statements (which are really the same thing.)
Here is the previous program,
rewritten with equivalent if else if
statements.
import java.util.Scanner; class Switcher { public static void main ( String[] args ) throws IOException { String lineIn; char color ; String message = "Color is"; Scanner scan = new Scanner( System.in ); System.out.println("Enter a color letter:"); lineIn = scan.nextLine(); color = lineIn.charAt( 0 ); // get the first character if ( color=='r' || color=='R' ) message = message + " red" ; else if ( color=='o' || color=='O' ) message = message + " orange" ; else if ( color=='y' || color=='Y' ) message = message + " yellow" ; else if ( color=='g' || color=='G' ) message = message + " green" ; else if ( color=='b' || color=='B' ) message = message + " blue" ; else if ( color=='v' || color=='V' ) message = message + " violet" ; else message = message + " unknown" ; System.out.println ( message ) ; } }
Is the program correct?
Is ==
being used correctly?