zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Natürlich. Jede switch-Anweisung kann mit geschachtelten if-Anweisungen geschrieben werden.

Das gleiche mit if-Anweisungen

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 ) ;
  }
}

Frage 12:

Ist irgendetwas falsch mit dem Programm? Wird "==" richtig verwendet?