Salir de sentencias anidadas

LR

Buenas,

Probando unas cosillas me ha surgido un pequeño problema.

tengo el codigo estructurado tal que asi:


while(){

  switch(){

        case (1):{

              break;
        }

        case (2):{

                  if (){
                        

                  }

              break;

       }


  }

}

Mi intencion es que si se cumple la condicion del segundo case, el if corte el switch, provocando asi una nueva iteracion del bucle.

Como puedo hacer eso?

El lenguaje en cuestion es java.

Thx

B

El break va dentro del if

LR

En un principio lo tenia puesto asi, pero no funcionaba como queria.

Tenia puesto esto:


case (2):{

  if(){
     break;
  }

 break;
}

y eso lo que hacia era que se saliese del bucle :S

Alguna idea de por que pasa esto?

Foxandxss

"break" sale del bucle, y con "continue" simplemente a la siguiente iteración.

B

Utiliza continue para que salte a la siguiente iteración pero cortar el flujo de un programa así es una guarrada :_

LR

Tambien lo intente con continue y me daba el mismo resultado, se salia del bucle.

Esa estuctura de #1 esta metida dentro de otro bucle y me devolvia a ese bucle en vez de a este.

La cuestion es que se que es asi, pero no se por que se sale del bucle cuando lo que deberia cortar es el switch

B

seguro que la condicion del while está bien?. Lo mismo no es problema del break sino de la condición del while.

LR

Ok, fallo tonto xDD

al principio inicializaba la condicion antes del while de forma de que siempre fuese verdadera, luego lo cambie por un do while y elimine la inizializacion para hacerla dentro del mismo bucle, por eso al cortar en el if se salia.

en fin, fallo tonto xDDDDDDD

Thx de todas formas :p

Usuarios habituales