¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Vale chicos, a ver si me podéis ayudar:

En el siguiente código se muestra una parte de un programa que simula un hotel (introducir nombre y edad, reservar una o más habitaciones, etc). Lo que quiero es que al acabar el programa o cuando el usuario no introduzca lo que se le pide ( por ejemplo si nos pide introducir un "si" o un "no" pues que le meta un "asjasj"), que el programa te devuelva al principio y te lo vuelva a preguntar. Aquí dejo la parte del código:




Tengo la idea de que toda esa parte de código tiene que estar dentro de un "do while", pero no se como poner la sintasís, el return, etc.

PD: Estoy programando en Java.

PD2: Los returns que están justo debajo se los tengo puestos porque sino el programa sigue leyendo hacía abajo y no termina de funcionar bien.

"Vive alegre y a lo loco que lo bueno dura poco".
Si el programa va a ser eso, hazlo con un bucle WHILE.

MIENTRAS que lo leido sea distinto de SI y sea distinto de NO
hacer pregunta

(Explicado para dummies)

Si pone algo distinto de si y de no, volvera a lanzar la pregunta, si responde SI o NO, saldra del bucle, y ya podras procesar la respuesta.

Habbo Old. Buenos momentos aquellos de cacería...

Si el programa va a ser eso, hazlo con un bucle WHILE.

MIENTRAS que lo leido sea distinto de SI y sea distinto de NO
hacer pregunta

(Explicado para dummies)

Si pone algo distinto de si y de no, volvera a lanzar la pregunta, si responde SI o NO, saldra del bucle, y ya podras procesar la respuesta.


Si, ¿pero qué es lo que tengo que poner dentro de ese "while()"? Dentro de los paréntesis. Ya he probado metiendo esto y sigue sin ir:




Se que tengo un fallo muy tonto pero no lo veo, xD.

"Vive alegre y a lo loco que lo bueno dura poco".
El fallo tonto es que estas preguntando si opcion es algo, cuando seguramente ni lo has definido, y no se como reacciona.

Ten en cuenta que atnes de comprobar si es igual o no, debes haber hecho la pregunta una vez, por eso en vez de un while a secas, prueba con un DO-WHILE

DO{
pregunta
}While(distinto de si y no)

Y no metas el resto del codigo dentro, porque lo procesará antes de comprobar si es igual o no.

Habbo Old. Buenos momentos aquellos de cacería...

El fallo tonto es que estas preguntando si opcion es algo, cuando seguramente ni lo has definido, y no se como reacciona.

Ten en cuenta que atnes de comprobar si es igual o no, debes haber hecho la pregunta una vez, por eso en vez de un while a secas, prueba con un DO-WHILE

DO{
pregunta
}While(distinto de si y no)

Y no metas el resto del codigo dentro, porque lo procesará antes de comprobar si es igual o no.


He conseguido resolverlo poniendo dentro del "while" el maldito TRUE. Gracias por la ayuda.

"Vive alegre y a lo loco que lo bueno dura poco".