Switch - Case - Problem

ChrisEU

Grünschnabel
Hallo zusammen!

Wenn ich folgenden Code übersetzen möchte, wird mir angezeigt, dass zNull, zG, etc. Konstanten sein müssen. Kann ich das irgendwie umgehen? Oder gibt es eine andere Möglichkeit zu überprüfen, welche der Variablen toSort[6] ist?

Code:
switch(toSort[6]) {
            case zNull:
                o = 1; break;
            case zG:
                o = 2; break;
            case zUG:
                o = 3; break;
            case zR:
                o = 4; break;
            case zS:
                o = 5; break;
            case z1:
                o = 6; break;
            case z19:
                o = 7; break;
            default:
                o = 0; break;
            }

Danke für die Antworten!
 
Du könntest statt Switch-Case auch If-Else benutzen...
also:
Java:
if(toSort[6].equals(zNull))  o = 1; // je nach Datentyp ist auch der Vergleich mit == möglich
else if(toSort[6].equals(zG)) o = 2;
//...
else o = 0; //default

Oder du setzt bei der Deklarierung von z.B. zNull ein const vor den Datentyp, allerdings ist dies ungünstig, falls sich der Wert der Variablen erst während der Laufzeit ergibt.
 
Danke! Eigentlich wollte ich auf diese else-ifferrei verzichten... da führt wohl aber kein Weg dran vorbei ;)
 
Zurück