[ Foro de Java ]

Operador condicional

21-Dec-2014 17:41
oscar collado
4 Respuestas

Buenas, estoy empezando desde cero, nunca habia tocado java, estoy siguiendo el tutorial y al llegar al operador condicional me atascado.... hay algo que se me escapa pero no doy con ello.. este es mi codigo

int x =( 371%2=0) ? System.out.println ("Es Par"): System.out.println ("Es Impar");

he probado varias combinaciones pero nada.... gracias


21-Dec-2014 17:48
Nacho Cabanes (+31)

Claro, la condición esta mal.

Recuerda que en Java y en todos los lenguajes que derivan de C, la expresión x=0 asigna un valor.  Para comparar debes usar un doble símbolo de igual: x == 0


22-Dec-2014 23:21
oscar collado

int x =( 371%2==0) ? System.out.println ("Es Par"): System.out.println ("Es Impar");

A x le asigno el valor (=) y la operacion del parntesis la comparo con ==, sigue dandome error


22-Dec-2014 23:34
Nacho Cabanes (+31)

Después de un condicional debe ir un valor, no una orden.

Por ejemplo, es correcto algo como

int x =( 371%2==0) ? 150 : 250;

(aunque suena poco razonable,  porque 371% 2 siempre va a ser 1, es una operación cuyo valor es contante; lo habitual es que el primer operando no sea una constante como 371 sino una variable como x).

En algunos lenguajes se puede hacer también con textos:

String x =( 371%2==0) ? "Es Par": "Es Impar";

En todo caso (pero eso es más avanzado y, por tanto, menos recomendable para un principiante), puedes incluir en la orden de escritura un condicional como el anterior:

System.out.println (( 371%2==0) ? "Es Par": "Es Impar");


23-Dec-2014 19:34
oscar collado

Muchisimas gracias, no había cogido el concepto que se explica en el tutorial.....






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)