Hola les comparto mi código...
He intentado realizarlo con una clase adcional a fin de que mantenga privados el codigo de acceso y niveles de permiso teniendo como ejemplo accesos por areas, sin embargo no he podido imaginar como usar correctamente los getters de cada area, por lo que finalmente termine utilizando un switch para los niveles de acceso, agradecería las sugerencias para la idea planteada o bien mejora del mi código.
CLASE Main
import java.util.Scanner;
public class Main extends Accesos{
public static void main(String[] args) {
int accesoNumericoUsuario;
int permisoNumericoUsuario;
Scanner scanner = new Scanner(System.in);
System.out.println("Hola, ingrese su codigo de acceso: ");
accesoNumericoUsuario = scanner.nextInt();
System.out.println("Ingrese su nivel de permiso de acuerdo a su area: ");
permisoNumericoUsuario = scanner.nextInt();
Accesos usuario1 = new Accesos();
if (accesoNumericoUsuario == usuario1.getAccesoNumerico()){
switch (permisoNumericoUsuario){
case 1:
System.out.println("Acceso permitido al area de Ciberseguridad. Bienvenido al sistema.");
break;
case 2:
System.out.println("Acceso permitido al area de Programacion. Bienvenido al sistema");
break;
case 3:
System.out.println("Acceso permitido al area de Gerencia. Bienvenido al sistema");
break;
default:
System.out.println("Acceso denegado. Su area no se permite en el sistema");
}
} else {
System.out.println("Acceso denegado. Codigo de acceso incorrecto");
}
}
}
CLASE Accesos
public class Accesos {
private int accesoNumerico = 2023;
// Simulacion de areas: 1 = ciberseguridad, 2 = programacion, 3 = gerencia;
private int ciberseguridad = 1;
private int programacion = 2;
private int gerencia = 3;
public int getAccesoNumerico() {
return accesoNumerico;
}
public int getCiberseguridad() {
return ciberseguridad;
}
public int getProgramacion() {
return programacion;
}
public int getGerencia() {
return gerencia;
}
}