Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Verificación de código de acceso y nivel de permiso

public class Sistema {

    private String codigoAcceso;
    private int nivelPermiso;

    public void verificacionAcceso(){
        if ((codigoAcceso.equals("2023")) && (nivelPermiso == 1 || nivelPermiso == 2 || nivelPermiso == 3)){
            System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
        } else {
            System.out.println("Acceso denegado...");
        }
    }

    public String getCodigoAcceso() {
        return codigoAcceso;
    }

    public void setCodigoAcceso(String codigoAcceso) {
        this.codigoAcceso = codigoAcceso;
    }

    public int getNivelPermiso() {
        return nivelPermiso;
    }

    public void setNivelPermiso(int nivelPermiso) {
        this.nivelPermiso = nivelPermiso;
    }
}

import java.util.Scanner;

public class Principal {
    public static void main(String[] args) {

        Sistema accesoSistema = new Sistema();

        String codigoAcceso;
        Scanner tecladoA = new Scanner(System.in);
        System.out.print("Código Acceso: ");
        codigoAcceso = tecladoA.nextLine();

        int nivelPermiso;
        Scanner tecladoP = new Scanner(System.in);
        System.out.print("Nivel de permiso: ");
        nivelPermiso = tecladoP.nextInt();

        accesoSistema.setCodigoAcceso(codigoAcceso);
        accesoSistema.setNivelPermiso(nivelPermiso);

        accesoSistema.verificacionAcceso();
    }
}
1 respuesta

Hola Juan, espero que estés bien

Gracias por compartir tu código. Estás en el camino correcto, pero parece que falta un detalle en tu implementación: el programa debe informar el motivo del acceso denegado si el código de acceso o el nivel de permiso no son correctos. Actualmente, tu código solo indica si el acceso es permitido o denegado, pero no especifica por qué.

Aquí tienes una sugerencia para modificar el método verificacionAcceso para que cumpla con el requisito adicional de informar el motivo del acceso denegado:

public void verificacionAcceso(){
    if (!codigoAcceso.equals("2023")) {
        System.out.println("Acceso denegado: Código de acceso incorrecto.");
    } else if (nivelPermiso != 1 && nivelPermiso != 2 && nivelPermiso != 3) {
        System.out.println("Acceso denegado: Nivel de permiso inválido.");
    } else {
        System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
    }
}

Con esta modificación, el programa verificará primero si el código de acceso es correcto. Si no lo es, informará que el código es incorrecto. Si el código es correcto, verificará el nivel de permiso y, si no es válido, informará que el nivel de permiso es inválido. Solo si ambos son correctos, permitirá el acceso.

Espero que esto te sea útil y te ayude a mejorar tu programa. ¡Espero haber ayudado y buenos estudios!