1
resposta

Verificação de código de acesso e nível de permissão

public class VerificacaoAcessoSistema {    
    public static void main(String[] args) {    
        Scanner scanner = new Scanner(System.in);    
        int codigoCorreto = 2023;    
        int nivelPermissaoMinimo = 1;    
        int nivelPermissaoMinimo=2;
        int nivelPermissaoMaximo = 3;    
 
        System.out.print("Digite o código de acesso: ");    
        int codigoDigitado = scanner.nextInt();    
 
        System.out.print("Digite o nível de permissão: ");    
        int nivelPermissao = scanner.nextInt();    
 
        boolean codigoValido = codigoDigitado == codigoCorreto;  
        boolean permissaoValida = nivelPermissao >= nivelPermissaoMinimo && nivelPermissao <= nivelPermissaoMaximo;    
 
        if (codigoValido && permissaoValida) {    
            System.out.println("Acesso permitido. Bem-vindo ao sistema!");    
        } else {    
            System.out.println("Acesso negado. Motivo(s):");    
            if (!codigoValido) {    
                System.out.println("- Código de acesso incorreto.");    
            }    
            if (!permissaoValida) {    
                System.out.println("- Nível de permissão inválido.");    
            }    
        }    
    }    
}
1 resposta

Oi, Eleazar! Como vai?

Notei que você declarou duas vezes a variável nivelPermissaoMinimo, e isso pode causar erro de compilação. Ao tentar declarar a variável novamente com outro valor (int nivelPermissaoMinimo=2;), o compilador não permite a redefinição com o mesmo nome no mesmo escopo.

Uma dica interessante para o futuro é usar System.out.println() também para debug, quando quiser entender valores em tempo de execução.Veja este exemplo:


System.out.println("Valor digitado: " + codigoDigitado);

Esse comando imprime o valor da variável no console, útil para verificar se tudo está correndo como esperado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!