| 

.NET C# Java Javascript Exception

5
Ich habe bislang unter Visual Basic entwickelt und arbeite mich gerade in Java ein. Beim switch-case-Konstrukt, den ich als Ersatz für den Select-Case-Anweisungsblock gefunden habe, werden immer die Wertzuweisungen des letzten switch-case-Blocks verwendet. Wie kann das sein?
10.11.2011
rainbow9 21 2
Kannst du den Code posten?
LiRo 10.11.2011
2 Antworten
3
Du musst in Java in einem Case als letzte Anweisung einen break ausführen, sonst werden auch die Folgecases ausgeführt.

switch (n)
{
case 1: 'dosomething'; BREAK;
case 2: 'dosomethingelse'; BREAK;
case default: 'dosomethingelser =) ';BREAK;
}

wenn du das noch nicht hast, werden ab der Bedingung die zutrifft alle Folgecases mit ausgeführt.
Also immer auch der letzte Switch-Block.
10.11.2011
SpellItRight 180 1 6
Den "break;" im letzten "case default" kann man sich aber sparen ;)
Xantiva 11.11.2011
2
Hallo,

hast du vergessen das break; einzufügen.
D.h. wenn er dir in ein case springt dann führt er alles aus was darunter ist bis er das Ende oder ein break erreicht.

switch(myInt)
{
case 0:
Bla();
break;
case 1:
Ble();
break;
default:
Blu();
}


Wenn er nun in case 0 springt dann führt er nur die Bla Methode aus und springt dann aus dem Case raus
Würde das break nicht sehen dann würde er dir auch noch in case 1 springen und Ble() ausführen.

Grüße
10.11.2011
michlG 1,7k 1 5

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH