Ausbrechen aus verschachtelten wenn
Ich habe ein Stück code, dass verschachtelte if-Anweisungen enthält:
if(numberOfNeighbors == 1){
//go through comparison again, add Pixel(i,j) to current linked list -> complist[numberOfComponents]
// break out of large check ??
if(ji.getPixelColor(i, j) == (ji.getPixelColor(i-1,j-1))){ //compare to top left
complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break;
}
if(ji.getPixelColor(i, j) == (ji.getPixelColor(i,j-1))){ //compare to top
complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break;
}
if(ji.getPixelColor(i, j) == (ji.getPixelColor(i+1,j-1))){ //compare to top right
complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break;
}
if(ji.getPixelColor(i, j) == (ji.getPixelColor(i-1,j))){ //compare to left
complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break;
}
} //end of if(numberOfNeighbors == 1)
Im Grunde das, was ich gerne tun würde, jedoch ineffizient diese auch sein mag, ist zu vergleichen ein etwas 4 mal, aber wenn es stellt sich heraus, es ist ein Spiel, Pause, das set der 4 verschachtelte if-Anweisungen, sowie die äußere if-Anweisung.
Wird das funktionieren? oder wird es nur brechen aus der verschachtelten wenn Ihr derzeit an und weiter zum nächsten, bis Ihr Weg Sie durch alle 4?
InformationsquelleAutor CK920 | 2015-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
WICHTIG:
break
- Anweisungen verwendet werden, um aus Schleifen, aber nicht die ZweigeIch deine Frage verstanden, aber verwenden Sie
break
- Anweisung zu go out of loops wiefor
,while
,do while
. Sie gehenif
- Anweisung, wenn die Bedingung erfüllt ist und die Anweisungen innerhalb derif
Zweig ausgeführt werden. Wenn Sie nicht wollen, um zu überprüfen, für die andere Bedingungen als die erstenif
zufrieden, die Sie haben zu verwendenif else
Filialen statt mit 4 if-Anweisungen.Diese beiden links könnten nützlich sein
Siehe das folgende Beispiel
InformationsquelleAutor Prudhvi
Sind Sie auf der Suche nach
else
?InformationsquelleAutor Samuel Edwin Ward
break; funktioniert NICHT, wenn Aussagen, nur Schleifen, switch und so.
Können Sie dies tun, um zu vermeiden Schachtelung:
InformationsquelleAutor Martin Clemens Bloch