Das korrigierte Programmfragment steht unten.
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;
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.)