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

Ayuda con el operador ||

Estas en el tema de Ayuda con el operador || en el foro de Java en Foros del Web. Hola amigos estoy elaborando un programa, en el cual despliego un menú con varias funciones, cada función tiene un numero perteneciente. por ejemplo: 1. Registrate ...
  #1 (permalink)  
Antiguo 04/08/2010, 14:04
Avatar de proxipor  
Fecha de Ingreso: diciembre-2009
Mensajes: 211
Antigüedad: 14 años, 5 meses
Puntos: 10
Ayuda con el operador ||

Hola amigos estoy elaborando un programa, en el cual despliego un menú con varias funciones, cada función tiene un numero perteneciente.

por ejemplo:

1. Registrate
2. Ingresa

pero al momento de usar la siguiente decisión me da un error

if (decision != 1 || 2){
System.out.println("Lo siento no es numero del menu");
}

operator || cannot be applied to boolean, int

Alguien sabe como hacer para que no me de este error?

Gracias de antemano!
  #2 (permalink)  
Antiguo 04/08/2010, 16:16
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Ayuda con el operador ||

Primero, a mí me dice que el operador || no puede utilizarse para comparar int, tienes que utilizar |

Segundo, tu problema es que estás valorando la expresión de la izquierda, que sería decision != 1 (booleana) con 2, que es un int, de ahí que no te deje ni compilar. Lo que tendrías que utilizar es

if (decision != (1 | 2))

Por último, si tu intención es hacer un menú, tienes la opción de usar switch si pretendes que cada elemento del menú ejecute distintas cosas.
  #3 (permalink)  
Antiguo 04/08/2010, 19:27
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Ayuda con el operador ||

Hola,

Cita:
Iniciado por Xerelo Ver Mensaje
if (decision != (1 | 2))
Son operaciones a nivel de bits. 1 OR 2 = 3 siempre.

Estas diciendo decisión no sea igual a 3.
En el peor de los casos vendría siendo decision != 1 && decisioin != 2.
Aunque en ese caso sería mejor usar el swith como indica Xerelo

Saludos,

Última edición por HackmanC; 04/08/2010 a las 19:49 Razón: varios
  #4 (permalink)  
Antiguo 05/08/2010, 01:56
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Ayuda con el operador ||

Cita:
Iniciado por HackmanC Ver Mensaje
Son operaciones a nivel de bits. 1 OR 2 = 3 siempre.

Estas diciendo decisión no sea igual a 3.
Toda la razón, recordaba que no sé podía utilizar, pero no sabía exactamente por qué, y al probar su código y "funcionar", pensé que sí se podía.

Etiquetas: operador
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 04:21.