Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Minha solução

int codigoAcesso = 2023;

        System.out.println("Digite o codigo de acesso: ");
        int tentativaCodigo = scanner.nextInt();

        boolean codigoCorreto = codigoAcesso == tentativaCodigo;

        System.out.println("Digite o nivel de permissão: ");
        int tentativaPermissao = scanner.nextInt();

        boolean nivelPermissaoCorreto = tentativaPermissao >= 1 && tentativaPermissao <= 3;

        if (codigoCorreto && nivelPermissaoCorreto){
            System.out.println("bem vindo ao sistema!");
        }else if (!codigoCorreto && !nivelPermissaoCorreto){
            System.out.println("Codigo e nivel de permissão incorretos!");
        }else if(!codigoCorreto && nivelPermissaoCorreto){
            System.out.println("Codigo de acesso incorreto!");
        }else{
            System.out.println("Nivel de permissão incorreto");
        }

Os niveis de permissão por serem uma sequencia numerica eu não criei uma variavel para eles, somente verifiquei diretamente no boolean, e fiz alguns IFs a mais doque o necessário apenas para validar todas as possibilidades de erro

1 resposta

Oi, Diego, como vai?

Obrigado por compartilhar sua solução. Sua lógica está correta e contempla todos os cenários pedidos pela atividade: acesso permitido, código incorreto, nível inválido e ambos inválidos. A utilização de variáveis booleanas também deixou as condições mais legíveis.

Sua observação sobre os níveis de permissão faz sentido. Como os valores válidos formam um intervalo contínuo de 1 a 3, a validação direta com tentativaPermissao >= 1 && tentativaPermissao <= 3 é uma abordagem eficiente.

Pensando em um sistema real, como você organizaria essa validação caso cada nível de permissão tivesse acessos diferentes dentro da aplicação?

Parabéns pela resolução e pela análise das diferentes possibilidades de erro. O fórum está à disposição para acompanhar sua evolução e suas próximas dúvidas.

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