elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Dos condiciones en estructura do-while
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dos condiciones en estructura do-while  (Leído 17,753 veces)
ryan parker

Desconectado Desconectado

Mensajes: 81



Ver Perfil
Dos condiciones en estructura do-while
« en: 2 Junio 2013, 06:45 am »

Esta pregunta es bastante novato, pero la verdad estoy llevando tiempo viendo por que no funciona.
Código
  1. do{
  2.   numero = ingresa.nextInt();
  3. }while(numero == 0 && numero > 100000)

La idea es ingresar un numero que este entre: 1<= n <100.
Y que sume naturalmente segun el numero ingresado.

Entrada:
2
5

Salida:
3
15

Pero si ingresas 0, es resultado es: 0.
Si ingresas 101, sale el resultado.
Cosa que debe  de seguir pidiendome leer numero.

Por ejemplo si hago asi:
Código
  1. do{
  2. do{
  3. numero = ingreso.nextInt();
  4. }while(numero == 0);
  5. }while(numero > 10000);

Hace correctamente, pero mi pregunta es por que no puedo hacerlo solo en un while?

Saludos.


En línea

Your kung-fu is not strong!
Kenkox

Desconectado Desconectado

Mensajes: 12



Ver Perfil
Re: Dos condiciones en estructura do-while
« Respuesta #1 en: 2 Junio 2013, 07:07 am »

No funciona porque la condicion de numero == 0 && numero >100 nunca va a ser verdadera y por tanto solo entra una vez .... ¿Porque?... porque supongamos numero == 0 .... la primera condicion es verdadera, pero la segunda es falsa... por lo tanto  TRUE && FALSE = FALSE

Ahora supongamos numero > 100 .... la primera condicion es falsa, y la segunda verdadera... por lo tanto FALSE && TRUE = false... por lo tanto solo entrara una vez y parara el ciclo.....

Si quieres que solo se ingrese un numero  1 <= n < 100

entonces tu codigo tendria que ser

while( numero> 0 && numero < 100 ){
balbalñaba
}

Supongamos que numero es igual a 1

1>0 && 1 < 100 .... TRUE && TRUE = TRUE
 
ahora n = 99
99> 0 && 99 < 100 TRUE && TRUE = TRUE

ahora n = 100

100 > 0 && 100 < 100 TRUE && FALSE = FALSE

por lo tanto cume que  1<=n<100

No sé bien como este tu codigo, pero creo que deberias de usar un while en lugar de un do while..... tienes que notar que el while primero evalua y despues realiza... el do while, primero hace y despues evalua.. hay una gran diferencia...

Suerte (y)


« Última modificación: 2 Junio 2013, 07:11 am por Kenkox » En línea

ryan parker

Desconectado Desconectado

Mensajes: 81



Ver Perfil
Re: Dos condiciones en estructura do-while
« Respuesta #2 en: 3 Junio 2013, 19:45 pm »

Gracias por responder amigo, estado probando, lamentablemente seguia dando saltos inesperados,  yasi que estuve  razonando la logica que acabas de publicar. Recordando algo de logica proposicional, lo que mejor se ajustaba a este enunciado fue la logica proposicional de ' O inclusiva '.

Código
  1. int numero = entrada.nextInt();
  2.   while(numero <= 0 || numero > 100){
  3.      numero = entrada.nextInt();
  4. }

Funciona adecuadamente.  :laugh:
Pero mis jueces dicen que esto da lugar a un error de en tiempo de ejecucion (runtime error)   :-(

Cosa que sigo revisando.
Saludos
En línea

Your kung-fu is not strong!
YairMon

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: Dos condiciones en estructura do-while
« Respuesta #3 en: 5 Junio 2013, 06:32 am »

Mientras que 1 <= n < 100

Código
  1. int numero = entrada.nextInt();
  2. while(numero > 0 && numero < 100){
  3.     numero = entrada.nextInt();
  4. }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sentencia con dos condiciones SQL
Bases de Datos
piterpalomitas 7 21,581 Último mensaje 4 Septiembre 2009, 19:59 pm
por Novlucker
Condiciones con HAVING y GROUP BY
Bases de Datos
Zedmix 2 2,952 Último mensaje 18 Abril 2011, 17:52 pm
por Zedmix
Añadir 3 condiciones && en un if ¿Es posible? C
Programación C/C++
BienWare 3 1,865 Último mensaje 12 Marzo 2018, 20:34 pm
por e
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines