Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] me pueden ayudar con un ciclo dowhile

Estas en el tema de me pueden ayudar con un ciclo dowhile en el foro de Java en Foros del Web. hola tengo que Validar el proceso de entrada de datos: lea una edad hasta que esta este en el rango de 1 a 110 (do-while) ...
  #1 (permalink)  
Antiguo 16/02/2013, 20:57
Avatar de aby_2988  
Fecha de Ingreso: febrero-2013
Mensajes: 4
Antigüedad: 11 años, 2 meses
Puntos: 0
me pueden ayudar con un ciclo dowhile

hola tengo que Validar el proceso de entrada de datos: lea una edad hasta que esta este en el rango de 1 a 110 (do-while)
esto es lo que tengo solo que el ciclo no se cierra cuando lee la edad correcta. espero me puedan ayudar y decir en que estoy equivocada, soy novata en esto de programacion y aun no la entiendo muy bien. gracias

public class LeerUnaEdad
{

public static void main (String [] args)
{
int edad = 0 ;

Scanner entrada = new Scanner (System.in);
System.out.println ("Escribe una edad " );
edad = entrada.nextInt ();
do
{

if (edad < 1 || edad > 110){

System.out.println ("error");

System.out.println ("Escribe una edad " );
edad = entrada.nextInt ();
}else{
System.out.println ("edad es: " + edad);
edad = entrada.nextInt ();
}
}while (edad > 1 || edad < 110);


}
}

Última edición por aby_2988; 16/02/2013 a las 21:51
  #2 (permalink)  
Antiguo 17/02/2013, 02:25
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: me pueden ayudar con un ciclo dowhile

...es que te falta usar break al leer la edad correcta...ahora si eres novata, que haces usando Java?...no seria mas fácil que comiences con lenguajes menos complicados?
  #3 (permalink)  
Antiguo 18/02/2013, 01:25
 
Fecha de Ingreso: julio-2012
Mensajes: 39
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: me pueden ayudar con un ciclo dowhile

Te explico lo que paso en tu código: cuando escribes do significa que se debe realizar lo que esta dentro de las llaves y luego se revisa la condición(while) para ver si se continua con la iteración. y segun veo tu codigo no tiene por que salir de la iteración cuando le das la edad correcta.
Tu condicion dice lo siguiente en español entendible "do"{ejecuta una serie de sentencias sin verificar la condicion de iteración, al llegar al final} revisa la condicion while(mientras que edad sea mayor que 1 ó edad sea menor que 110), si la respuesta a la condicion es si entonces se repite desde do si la respuesta a la condicion es no se sale de la iteración. Te oy a mostrar como debe ser:

Código Javascript:
Ver original
  1. public class LeerUnaEdad{
  2.  
  3.    public static void main (String [] args){
  4.       int edad = 0 ;
  5.       do{
  6.          Scanner entrada = new Scanner (System.in);
  7.          System.out.println ("Escribe una edad " );
  8.          edad = entrada.nextInt ();
  9.          if (edad < 1 || edad > 110){
  10.             System.out.println ("error");
  11.          }else{
  12.             System.out.println ("edad es: " + edad);
  13.          }
  14.       }while (edad < 1 || edad > 110);
  15.    }
  16. }

Etiquetas: programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:31.