Hola Juan,
He revisado tu código y parece que está casi completo, pero hay un pequeño detalle que podrías ajustar para que el programa informe correctamente el motivo del acceso denegado. Actualmente, tu programa solo informa que el acceso es denegado sin especificar si el problema es el código de acceso, el nivel de permiso o ambos.
Aquí tienes una sugerencia para mejorar el mensaje de salida:
import java.util.Scanner;
public class VerificacionAcceso {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese código de acceso: ");
String codigoAcceso = scanner.next();
System.out.print("Ingrese nivel de permiso (1, 2 o 3): ");
int nivelPermiso = scanner.nextInt();
boolean codigoCorrecto = codigoAcceso.equals("2023");
boolean nivelValido = (nivelPermiso == 1 || nivelPermiso == 2 || nivelPermiso == 3);
if (codigoCorrecto && nivelValido) {
System.out.println("\nAcceso permitido. ¡Bienvenido al sistema!");
} else {
System.out.println("\nAcceso denegado.");
if (!codigoCorrecto) {
System.out.println("Código incorrecto.");
}
if (!nivelValido) {
System.out.println("Nivel de permiso inválido.");
}
}
}
}
Con este ajuste, el programa verificará ambas condiciones y proporcionará un mensaje claro sobre qué parte de la verificación falló. Si el código de acceso es incorrecto, mostrará "Código incorrecto", y si el nivel de permiso no es válido, mostrará "Nivel de permiso inválido".
Espero que esta sugerencia te sea útil. ¡Espero haber ayudado y buenos estudios!