Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

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

import java.util.Scanner;

public class VerificacaoPermissao {
    public static void main(String[] Args) {
        Scanner leitura = new Scanner(System.in);
        int codigoValido = 2023;

        System.out.println("\nDigite o código de acesso: ");
        int codigoDigitado = leitura.nextInt();

        System.out.println("\nDigite o nível de permissão: ");
        int nivelAcesso = leitura.nextInt();

        if (codigoDigitado == codigoValido && nivelAcesso == 1 || nivelAcesso == 2 || nivelAcesso == 3) {
            System.out.println("\nAcesso permitido. Bem vindo ao sistema!");
        } else {
            if (codigoDigitado != codigoValido) {
                System.out.println("\nAcesso negado. Verifique o código de acesso!");
            }
            if (nivelAcesso != 1 && nivelAcesso != 2 && nivelAcesso != 3) {
                System.out.println("\nAcesso negado. Verifique o nível de permissão!");
            }
        }
    }
}
1 resposta
solução!

Oi, Gilvaneide! Como vai?

Você estruturou bem o uso de if e else pra validar o código de acesso e o nível de permissão.

Um ponto de atenção é a condição composta no primeiro if, que pode gerar permissões indevidas. Isso acontece porque a lógica nivelAcesso == 1 || nivelAcesso == 2 || nivelAcesso == 3 está sendo avaliada independentemente do codigoDigitado.

import java.util.Scanner;

public class VerificacaoPermissao {
    public static void main(String[] Args) {
        Scanner leitura = new Scanner(System.in);
        int codigoValido = 2023;

        System.out.println("\nDigite o código de acesso: ");
        int codigoDigitado = leitura.nextInt();

        System.out.println("\nDigite o nível de permissão: ");
        int nivelAcesso = leitura.nextInt();

        // Ajuste com parênteses para garantir que as duas condições sejam avaliadas corretamente
        if (codigoDigitado == codigoValido && 
            (nivelAcesso == 1 || nivelAcesso == 2 || nivelAcesso == 3)) {
            System.out.println("\nAcesso permitido. Bem vindo ao sistema!");
        } else {
            if (codigoDigitado != codigoValido) {
                System.out.println("\nAcesso negado. Verifique o código de acesso!");
            }
            if (nivelAcesso != 1 && nivelAcesso != 2 && nivelAcesso != 3) {
                System.out.println("\nAcesso negado. Verifique o nível de permissão!");
            }
        }
    }
}
Conteúdos relacionados
Alura

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