Para el presente ejercicio realice la siguiente solución en donde utilice if/else en cascada y dentro de un ciclo if/else, para tomar validaciones de acceso así como en los casos en el cual alguno de los elementos sea verdadero o todos sean falsos, ahora procedo a mostrar la respuesta:
public class Main {
public static void main(String[] args) {
Seguridad seguridad = new Seguridad();
seguridad.ingresarInformacion();
seguridad.verificarIngreso();
}
}
import java.util.Scanner;
public class Seguridad {
final int CLAVE= 2023;
private int claveUsuario;
private int nivelMinimo = 1;
private int nivelMaximo = 3;
private int nivelUsuario;
Scanner teclado = new Scanner(System.in);
public void ingresarInformacion(){
System.out.println("Ingrese el cíodigo de acceso: ");
claveUsuario = teclado.nextInt();
System.out.println("Ingrese el nivel de permiso: ");
nivelUsuario = teclado.nextInt();
}
public void verificarIngreso() {
if (claveUsuario == CLAVE && (nivelUsuario >= nivelMinimo && nivelUsuario <= nivelMaximo)) {
System.out.println("Acceso permitido ¡Bienvenido al sistema!");
} else {
if (claveUsuario != CLAVE && (nivelUsuario >= nivelMinimo && nivelUsuario <= nivelMaximo)) {
System.out.println("""
Acceso denegado. Motivo(s):
Código de acceso incorrecto.
""");
} else if(claveUsuario == CLAVE && (nivelUsuario < nivelMinimo || nivelUsuario > nivelMaximo )) {
System.out.println("""
Acceso denegado. Motivo(s):
Nivel de permiso inválido."
""");
}else {
System.out.println("""
Acceso denegado. Motivo(s):
Nivel de permiso inválido."
Código de acceso incorrecto.
""");
}
}
}
}