Hola, estudiante, espero que estés bien
Parece que estás trabajando en un sistema de seguridad que verifica el acceso basado en un código y un nivel de permiso. He notado que tu código actual tiene varias condiciones que podrían simplificarse un poco. Aquí tienes una versión optimizada de tu método verificarAcceso
:
public void verificarAcceso(int codigo, int nivel) {
if (codigo == 2023) {
if (nivel >= 1 && nivel <= 3) {
System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
} else {
System.out.println("Acceso denegado. Nivel incorrecto.");
}
} else {
if (nivel >= 1 && nivel <= 3) {
System.out.println("Acceso denegado. Codigo incorrecto.");
} else {
System.out.println("Acceso denegado. Codigo y Nivel incorrecto.");
}
}
}
En esta versión, primero verificamos si el código es correcto. Si lo es, entonces verificamos si el nivel es válido (1, 2 o 3). Si ambas condiciones se cumplen, el acceso es permitido. Si el código es incorrecto, pero el nivel es válido, se informa que el código es incorrecto. Finalmente, si ambos son incorrectos, se informa de ambos errores.
Espero que esta simplificación te sea útil y que tu programa funcione como esperas. ¡Espero haber ayudado y buenos estudios!