Hola Jorge Leonardo, espero que esté bien.
Gracias por compartir tu código con nosotros, he probado aquí y el resultado ha sido muy bueno, Al finalizar, apareció en pantalla el mensaje "true", debido a la llamada a la función:
System.out.println(gerente.iniciarSesion(123));
¿Cuál fue el error que encontraste? El título de su pregunta es "¿Por qué no se autentica?", pero en tu código funciona bien. ¿Podría decirme más sobre el error, por favor? Estaré atenta a tu mensaje =]
Analizando el codigo:
- en el método main después de crear el objeto
gerente
del tipo Gerente tu cambia el valor de la variable clave
llamando a la función setClave para "123"; - en la línea 13 tu llama la función de imprimir System.out.println enviando como parámetro el valor de la variable de instancia clave;
- como el valor enviado es igual al valor insertado en setClave(), el compilador analisa como true - nuestra salida;
" se supone que no deberia poner la clave en el System.out.println" - Mientras estamos aprendemos y practicamos, usamos mucho la función System.out.println
para analizar la salida del código. Es una forma de analizar el resultado esperado en el desarrollo, pero si fuera un programa ya hecho, deberíamos quitar la llamada a la función por razones de seguridad al no exponer el valor de la contraseña del usuario.
Espero haberte quedado claro, cualquier duda estaremos aquí para ayudarte =)
¡Un saludo!
Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios