zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Das korrigierte Programmfragment steht unten.

Korrigiertes Programm

Hier ist das korrekte Programm. Es wäre OK auch im default-Fall nach der Anweisung ein break zu setzen, aber es wird nicht benötigt.

class Switcher
{
  public static void main ( String[] args )
  {
    char   farbe = 'G' ;
    String meldung = "Die Farbe ist";

    switch ( farbe )
    {

      case 'R':
        meldung = meldung + " rot" ;
        break;
      case 'O':
        meldung = meldung + " orange" ;
        break;
      case 'G':
        meldung = meldung + " gelb" ;
        break;
      case 'B':
        meldung = meldung + " blau" ;
        break;
      case 'V':
        meldung = meldung + " violett" ;
        break;
      default:
        meldung = meldung + " unbekannt" ;

    }

  System.out.println ( meldung ) ;
  }
}

Oft ist das was wir wirklich brauchen für mehrere Zeichen einen einzelnen case-Fall auszuwählen. Das kann getan werden, indem mehrere case-Anweisungen verwendet werden, gefolgt von genau einer Anweisungsliste. Zum Beispiel wählen sowohl "j" als auch "J" dieselbe Anweisung aus.

      case 'j':
      case 'J':
        meldung = meldung + " gelb" ;
        break;

Frage 10:

Fügt gedanklich weitere case-Anweisungen ein, so dass das Programm für jede Farbe auch mit Kleinbuchstaben funktioniert. (Oder noch besser, kopiert das Programm in Eure Java IDE und verbessert es.)