Mi propuesta de solución:
import java.util.Scanner;
public class VerificacionAccesoPermiso {
public static void main(String[] args) {
String separacion = "**************************************************";
String espacio = "";
System.out.println(separacion);
System.out.println("Verificación de Acceso al Sistema.");
System.out.println(separacion);
Scanner teclado = new Scanner(System.in);
int codigoCorrecto = 2023;
int nivelPermisoMin = 1;
int nivelPermisoMax = 3;
System.out.println("\nIngrese el código de acceso.");
int codigoIngresado = teclado.nextInt();
System.out.println("\nIngrese el nivel de permiso.");
int permisoIngresado = teclado.nextInt();
teclado.close();
boolean codigoValido = codigoIngresado == codigoCorrecto;
boolean permisoValido = permisoIngresado >= nivelPermisoMin && permisoIngresado <= nivelPermisoMax;
System.out.println(espacio);
System.out.println(separacion);
if(codigoValido && permisoValido) {
System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
} else {
System.out.println("Acceso denegado.\nMotivo(s):");
if (!codigoValido) {
System.out.println("- Código de acceso incorrecto.");
}
if (!permisoValido) {
System.out.println("- Nivel de permiso inválido.");
}
}
System.out.println(separacion);
}
}