Ésta es la forma en que lo haría un bucle while:¿Es posible declarar variables dentro de una condición?
boolean more = true;
while (more)
{
// do something
if (someTest())
{
more = false;
}
}
Eso es bastante estándar. Tengo curiosidad por saber si hay una manera de hacer algo similar al siguiente código en Java: (creo que he visto algo parecido en C)
// The code below doesn't compile (obviously)
while (boolean more = true)
{
// do something
if (someTest())
{
more = false;
}
}
Sólo pido esto porque actualmente I don' me gusta la forma en que estoy definiendo la variable utilizada en la condición (en este caso: "más") fuera de el alcance del ciclo, aunque solo es relevante dentro del ciclo. No tiene sentido que se quede esperando después de que el ciclo haya terminado.
* * * * Actualización
Una idea vino a mí después de una visita a la cámara secreta Porcaline:
for (boolean more=true; more; more=someTest())
{
// do something
}
No es perfecto; Está abusando del bucle for y no puedo pensar en una forma de ejecutar el bucle al menos una vez, pero está cerca ... ¿Hay alguna forma de asegurarse de que el bucle se realice más de una vez?
for (boolean more = true; more; more = someTest()) ... siempre se ejecutará al menos una vez. – Pyrce