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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Un booleano no me respeta
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Un booleano no me respeta  (Leído 1,789 veces)
reygecko

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Un booleano no me respeta
« en: 23 Diciembre 2012, 15:13 pm »

Buenos días a todos.

Los booleanos deberían ser sencillos, sólo pueden valer "true" o "false". Pues me están volviendo loco.  :huh:

Con este programa tan sencillo, pretendo comprobar el valor de una variable booleana:

Código:
public class booleano {
    public static void main(String args[]) {
        boolean condicion = false;
        if (condicion = false)
            System.out.println("CONDICIÓN VALE FALSE");
        if (condicion = true)
            System.out.println("CONDICIÓN VALE TRUE");
    }
}

Pues bien, aunque yo mismo inicializo la variable "condicion" con el valor "FALSE", sin embargo el resultado que obtengo al ejecutar el programa es "CONDICIÓN VALE TRUE".

Por favor, ¿podría alguien ser tan amable de explicarme qué estoy haciendo mal? Muchas gracias.


En línea

RevangelyonX

Desconectado Desconectado

Mensajes: 245


Ver Perfil WWW
Re: Un booleano no me respeta
« Respuesta #1 en: 23 Diciembre 2012, 17:05 pm »

Te estas colando en los iguales del IF. Lo estas inicializando en lugar de compararlo.

== o equals()

Salu2


En línea

Just Linux
OSCP certified
reygecko

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Un booleano no me respeta
« Respuesta #2 en: 23 Diciembre 2012, 17:56 pm »

Maldita sea, es cierto.

Perdón por mi estupidez de pregunta,  muchas gracias por responder.

Un saludo.
En línea

Slider324

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Un booleano no me respeta
« Respuesta #3 en: 24 Diciembre 2012, 09:14 am »

Podrias usar if y else if quedando de esta forma:

Código:
public class booleano {
    public static void main(String args[]) {
        boolean condicion = false;
        if (condicion == false){
            System.out.println("CONDICIÓN VALE FALSE");
        }else if (condicion == true){
            System.out.println("CONDICIÓN VALE TRUE");
     }
   }
}
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Un booleano no me respeta
« Respuesta #4 en: 24 Diciembre 2012, 14:41 pm »

Y estarías haciendo una comprobación de más. ¿Si un booleano solo tiene dos valores posibles, por qué comprobar los dos?

Código
  1. public class booleano {
  2.    public static void main(String args[]) {
  3.        boolean condicion = false;
  4.        if (!condicion) {
  5.            System.out.println("CONDICIÓN VALE FALSE");
  6.        } else {
  7.            System.out.println("CONDICIÓN VALE TRUE");
  8.        }
  9.    }
  10. }
  11.  
En línea

reygecko

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Un booleano no me respeta
« Respuesta #5 en: 24 Diciembre 2012, 18:46 pm »

Sí, Valkyr, tienes razón.  Lo que ocurre es que mi código original no era así, allí sólo hice una comprobación.  Al obtener un resultado que no esperaba es cuando testeé exhaustivamente al booleano por ese motivo hice este pequeño código donde expresamente daba valor a cada una de las dos posibilidades.

Luego, como ya he visto, todo era provocado por mi ignorancia del lenguaje.  Y todo era más sencillo, claro.

Gracias también a ti por la ayuda.  ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Database no respeta la logica « 1 2 »
Bases de Datos
Skeletron 11 4,906 Último mensaje 17 Marzo 2010, 17:00 pm
por Skeletron
No se respeta config de impresión
Windows
SONIC88 2 1,312 Último mensaje 13 Febrero 2011, 18:27 pm
por SONIC88
Buscador que respeta la privacidad
Dudas Generales
Stoya 4 2,201 Último mensaje 21 Febrero 2011, 04:28 am
por Socket_0x01
Valor booleano como String ? (solucionado) « 1 2 3 »
Java
Finishim 22 4,125 Último mensaje 26 Abril 2015, 08:15 am
por Finishim
MediaMarkt no respeta una oferta y amenaza con denunciar a un cliente por ...
Noticias
wolfbcn 3 350 Último mensaje 17 Mayo 2019, 19:55 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines