JAVA: doppelte Schleife unterbrechen

Manchmal kann es nützlich sein eine doppelte Schleife zu durchbrechen.
Hier das sicherlich bekannte Vorgehen eine einfache Schleife abzubrechen:

for(int i = 0; i < 1000; i++)
{
   if(i == 50)
      break;   

   System.out.println("Wert von i ist: " + i);
}

Das oben sichtbare Beispiel zeigt eine For-Schleife die eigentlich 1000 Mal durchlaufen sollte da im Kopf festgelegt wurde, dass sie so lange durchläuft bis i den Wert 1000 erreicht hat. In der Schleife prüft man jedoch immer wieder den Wert von i. Wenn dieser 50 erreicht, wird diese über „break“ abgebrochen.

Was nun wenn es sich um eine doppelt verschachtelte Schleife handelt?
Die innere Schleife „merkt“ anhand von einem Wert dass das ganze Konstrukt abgebrochen werden soll, mit „break“ allein würde jedoch nur die innere Schleife abbrechen, die äußere würde munter weiter laufen und die innere wieder aufrufen. Hier die Lösung:

mainloop:
for(int i = 0; i < 1000; i++)
{
   for(int j = 0; j  < 1000; j++)
   {
      if(j == 20)
         break mainloop;
      System.out.println("Wert von j ist: " + j);
   }
   System.out.println("Wert von i ist: " + i);
}

Über das „mainloop:“ wurde dem Programm klar gemacht, welche Schleife(n) unterbrochen werden sollen, wenn der „break mainloop“ durchgeführt wird.

  1. No trackbacks yet.

Du musst angemeldet sein, um einen Kommentar abzugeben.
%d Bloggern gefällt das: