Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Error con ==

En los videos si iba a la par daba todo bien pero con el ejercicio, me da ese error no comprendo. Por que no toma el == si antes lo tomaba

En los videos si iba a la par daba todo bien pero con el ejercicio, me da ese error no comprendo. Por que no toma el == si antes lo tomaba :/

2 respuestas

Listo lo resolví con String, no comprendo por que la diferencia aun

¡Hola Ana María! Espero te encuentres bien.

Primero, quiero explicarle la diferencia entre los dos signos iguales contiguos '==' y el signo igual singular '='. El primero de ellos, también conocido como operador de comparación es útil para comparar valores y siempre retorna un valor booleano como resultado de la comparación, es decir, devuelve verdadero o falso.

Por ejemplo:

Siendo los enteros a = 50 y b = 90; Podemos decir que a == b es falso, ya que a no es igual a b.

El segundo es conocido como el operador de asignación y es útil para definir un valor para una variable, por ejemplo:

int a;

a = 50;

Ahora, la variable a contiene el valor de 50.

Luego, revisemos tu método iniciarSesion;

public boolean iniciarSesion(int clave){ this.clave == clave; }

En el cuerpo del método, entonces, lo que tratas de hacer es comparar un valor entero (clave) con un valor String (this.clave), porque éste último está definido como un String en tu clase. Automáticamente la comparación se rompe porque Java encuentra una incompatibilidad en los tipos de datos comparados. Para que una comparación sea válida, el tipo de dato de ambos operandos debe ser el mismo, o son ambos String, o son ambos enteros.