Natürlich. Jede switch
-Anweisung kann mit geschachtelten if
-Anweisungen geschrieben werden.
Wenn Ihr eine Wahl zwischen verschiedenen Optionen treffen müsst, die auf komplizierten Anforderung beruhen, verwendet geschachtelte if
-Anweisungen. Hier ist das vorherige Programm, aber umgeschrieben und verwendet jetzt if
-Anweisungen.
import java.util.Scanner;
class Switcher
{
public static void main ( String[] args )
{
char farbe = 'G' ;
String meldung = "Die Farbe ist";
String userIn;
Scanner scan = new Scanner( System.in );
System.out.print("Geben Sie einen Buchstaben fuer eine Farbe ein: ");
userIn = scan.nextLine();
farbe = userIn.charAt( 0 ); // 1. Buchstaben holen
if ( farbe=='r' || farbe=='R' )
meldung = meldung + " rot" ;
else if ( farbe=='o' || farbe=='O' )
meldung = meldung + " orange" ;
else if ( farbe=='g' || farbe=='G' )
meldung = meldung + " gelb" ;
else if ( farbe=='b' || farbe=='B' )
meldung = meldung + " blau" ;
else if ( farbe=='v' || farbe=='V' )
meldung = meldung + " violet" ;
else
meldung = meldung + " unknown" ;
System.out.println ( meldung ) ;
}
}
Ist irgendetwas falsch mit dem Programm? Wird "==" richtig verwendet?