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

Verificación de código de acceso y nivel de permiso (Mi soluciòn)

import java.util.Scanner;

    public class VerificadorAcceso {
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    int codigoAcceso = 0;
    int nivelPermiso = 0;

    // Validar código de acceso (debe ser numérico)
    while (true) {
        System.out.print("Ingrese el código de acceso: ");
        String entradaCodigo = scanner.nextLine().trim();

        if (entradaCodigo.matches("^\\d+$")) {
            codigoAcceso = Integer.parseInt(entradaCodigo);
            break;
        } else {
            System.out.println("Entrada inválida. El código debe ser numérico.");
        }
    }

    // Validar nivel de permiso (debe ser 1, 2 o 3)
    while (true) {
        System.out.print("Ingrese el nivel de permiso: ");
        String entradaNivel = scanner.nextLine().trim();

        if (entradaNivel.matches("^\\d+$")) {
            nivelPermiso = Integer.parseInt(entradaNivel);
            break;
        } else {
            System.out.println("Entrada inválida. El nivel de permiso debe ser un número (1, 2 o 3).");
        }
    }

    // Verificar condiciones de acceso
    boolean codigoCorrecto = (codigoAcceso == 2023);
    boolean permisoValido = (nivelPermiso == 1 || nivelPermiso == 2 || nivelPermiso == 3);

    if (codigoCorrecto && permisoValido) {
        System.out.println("Acceso permitido.");
    } else {
        System.out.println("Acceso denegado.");
        if (!codigoCorrecto) {
            System.out.println("- Código de acceso incorrecto.");
        }
        if (!permisoValido) {
            System.out.println("- Nivel de permiso inválido.");
        }
    }

    scanner.close();
}

}

1 respuesta

¡Hola Gina, espero que estés bien!

Gracias por compartir tu solución. Tu código está muy cerca de cumplir con los requisitos del ejercicio. Sin embargo, hay un pequeño detalle que puedes ajustar para que coincida exactamente con la salida esperada.

En el ejemplo de salida proporcionado en el ejercicio, después de verificar que el acceso es permitido, el mensaje esperado es: "Acceso permitido. ¡Bienvenido al sistema!". Actualmente, tu programa solo imprime "Acceso permitido.".

Aquí tienes una pequeña modificación para que el mensaje de salida coincida con el esperado:

if (codigoCorrecto && permisoValido) {
    System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
} else {
    System.out.println("Acceso denegado.");
    if (!codigoCorrecto) {
        System.out.println("- Código de acceso incorrecto.");
    }
    if (!permisoValido) {
        System.out.println("- Nivel de permiso inválido.");
    }
}

Con este cambio, tu programa debería cumplir exactamente con los requisitos del ejercicio. Espero que esto te ayude a seguir avanzando en tu aprendizaje de Java.

¡Espero haber ayudado y buenos estudios!