Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/07/2014, 01:46
toofast
 
Fecha de Ingreso: agosto-2013
Mensajes: 18
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problema bucle

En estos casos lo normal es usar una bandera booleana para llevar el control de si en cada vuelta del bucle has dado con lo que buscabas (y por tanto puedes parar ya) o no.

Por ejemplo, antes del WHILE deberías definir un objeto booleano como:

boolean encontrado = false;

Inicializado a falso. Y la cosa funcionará así: mientras NO hayamos encontrado el elemento, seguimos buscando. Por tanto, el WHILE sería:

while(!encontrado){
...
}

El esqueleto de lo que va ahí dentro ya lo tienes, sólo falta rellenarlo según varía el estado de la bandera: si has dado con el número buscado haces

encontrado = true;

y el bucle no daría más vueltas. Y la parte del ELSE la puedes quitar, pues si el número no era el buscado no hace falta hacer nada. Al final del proceso el resultado se guardará en el elemento i actual del array.

Que por cierto, recuerda declarar esa variable "i", inicializarla, e incrementarla dentro del bucle.