Problemas con la gramatica
Hola, estoy haciendo un programa en Java con BlueJ.
En un determinado momento del codigo, tengo un if donde necesito comparar integers con >, <, &&, || pero al compilar me da follo en esta linea porque no puedo aplicar estos operadores con int.
he probado a cambiar el tipo de los archivos a short y byte
pero me sigue dando lo mismo.
¿como lo puedo solucinar? Gracias
En un determinado momento del codigo, tengo un if donde necesito comparar integers con >, <, &&, || pero al compilar me da follo en esta linea porque no puedo aplicar estos operadores con int.
he probado a cambiar el tipo de los archivos a short y byte
pero me sigue dando lo mismo.
¿como lo puedo solucinar? Gracias
No sé si tu problema es que no puedes comparar Integer con Int, o Integer con Integer. Me parece que para el primer caso tendrás que comparar objetos de la misma clases. No se pueden comparar objetos de distintas clases. Y para el segundo caso, debes saber con puedes aplicar directamente operadores lógicos a objetos de la clase Integer (a los int, sà puedes). Para compararlos debes utilizar el método compareTo de la clase Integer. Mira en en la Api de Java para más información.
Un saludo
Un saludo
Los operadores cortocircuitados (&& y ||) únicamente pueden ser utilizados con primitivos boolean o con expresiones que proporcionen como resultado de su evaluación un boolean. Y los operadores de comparación pueden emplearse con primitivos numéricos y char. Parece que estás utilizando && y II con los enteros.
Por si te sirve te indico el orden de precedencia de los operadores en JAVA:
1) Operadores Unarios : ++,--.+,-,~,!
2) Operadores Aritméticos: *,/,%,+,-
3) Operadores de Desplazamiento: <<,>>,>>>
4) Operadores de Comparación: <,>,>=,<=,==,!=
5) Operadores BitWise: &,|,^
6) Operadores ShortCircuit : &&, ||
7) Operador Condicional : x=a?b:c;
8) Operador Asignación : x op= y -> x=x op y
Por si te sirve te indico el orden de precedencia de los operadores en JAVA:
1) Operadores Unarios : ++,--.+,-,~,!
2) Operadores Aritméticos: *,/,%,+,-
3) Operadores de Desplazamiento: <<,>>,>>>
4) Operadores de Comparación: <,>,>=,<=,==,!=
5) Operadores BitWise: &,|,^
6) Operadores ShortCircuit : &&, ||
7) Operador Condicional : x=a?b:c;
8) Operador Asignación : x op= y -> x=x op y
