2016-06-10 11 views
-4

Ich habe eine switch erstellt, die eine int nimmt, und dann einige case s dafür angegeben."Inkompatible Typen. Gefunden: int Erforderlich: Boolean" auf einem Schalter

Das Problem, das ich bekomme, ist, dass, wenn ich die int Werte setze, bekomme ich den Fehler Incompatible types. Found: int, Required: Boolean. Warum passiert das? Braucht switch eine ? Wenn ja, wie kann ich den folgenden Code anpassen?

Random generatori4 = new Random(); 
       int ii4 = generatori4.nextInt(16) + 1; 

       switch (ii4) { 
        case (ii4 == 1): 
         pregunta.setText(Europa33); 
         break; 
        case (ii4 == 2): 
         pregunta.setText(Europa34); 
         break; 
        case (ii4 == 3): 
         pregunta.setText(Europa35); 
         break; 
        case (ii4 == 4): 
         pregunta.setText(Europa36); 
         break; 
        case (ii4 == 5): 
         pregunta.setText(Europa37); 
         break; 
        case (ii4 == 6): 
         pregunta.setText(Europa38); 
         break; 
        case (ii4 == 7): 
         pregunta.setText(Europa39); 
         break; 
        case (ii4 == 8): 
         pregunta.setText(Europa40); 
         break; 
        case (ii4 == 9): 
         pregunta.setText(Europa41); 
         break; 
        case (ii4 == 10): 
         pregunta.setText(Europa42); 
         break; 
        case (ii4 == 11): 
         pregunta.setText(Europa43); 
         break; 
        case (ii4 == 12): 
         pregunta.setText(Europa44); 
         break; 
        case (ii4 == 13) : 
         pregunta.setText(Europa45); 
         break; 
        case (ii4 == 14): 
         pregunta.setText(Europa46); 
         break; 
        case (ii4 == 15): 
         pregunta.setText(Europa47); 
         break; 
        case (ii4 == 16): 
         pregunta.setText(Europa48); 
         break; 
       } 
+0

Wenn meine Antwort hilfreich war, denken Sie bitte daran, sie zu akzeptieren. Wenn nicht, bitte posten Sie einen Kommentar und lassen Sie mich wissen, warum. Vielen Dank! –

Antwort

4

Das Problem

Wie der Fehler sagt, Python passende Typen in Ihrem switch und in Ihren case Aussagen zu sehen erwartet. Aber das tut es nicht. Warum? Weil switch (ii4) bedeutet, "Do etwas abhängig von dem Wert von ii4, die ich oben gesagt habe, ist ein int." Aber Ihre Fallanweisungen enthalten Gleichheiten wie ii4 == 1, die eine ist. Et voilà, da ist dein Fehler.

Die Lösung

die Gleichheiten von Ihrem case s entfernen. Sie haben bereits angegeben, dass Sie die Werte für Ihre Variable mit switch (ii4) anzeigen möchten. Sie müssen also nicht ii4 == x angeben. Sie müssen nur x sagen.

So zum Beispiel ändern

case(ii4 == 1): 

zu

case 1: 

Sie könnten the tutorial on switch statements lesen möchten.

Verwandte Themen