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

[Projeto] Resolução simples

package com.example;

import java.util.Scanner;

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

    Scanner sc  = new Scanner(System.in);
    System.out.print("Digite a senha:");
    String senha = sc.nextLine();

   if(senha.equals("123456")){
       System.out.println("Acesso permitido!");
   } else {
       System.out.println("Acesso negado");
   }
}
}
1 resposta

Fala, Luís! Tudo bom?

Agradeço por trazer sua solução para o fórum!

Curti demais como trabalhou a classe Scanner para capturar entradas em Java, entendeu perfeitamente a importância da comparação com equals() para validar a senha e usou bem a estrutura condicional if/else para controlar o acesso.

Algo bem legal para complementar é permitir múltiplas tentativas antes de bloquear o acesso. Dessa maneira:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc  = new Scanner(System.in);
        final String senhaCorreta = "123456";
        int tentativas = 3;

        while (tentativas > 0) {
            System.out.print("Digite a senha: ");
            String senha = sc.nextLine();

            if (senha.equals(senhaCorreta)) {
                System.out.println("Acesso permitido!");
                break;
            } else {
                tentativas--;
                System.out.println("Acesso negado. Tentativas restantes: " + tentativas);
            }
        }

        if (tentativas == 0) {
            System.out.println("Sistema bloqueado por excesso de tentativas.");
        }

        sc.close();
    }
}

Isso faz com que o programa seja mais seguro e realista.

E algumas boas práticas que você pode adotar são:

  • Segurança: nunca deixar senhas fixas em código, usar hash em sistemas reais.
  • Legibilidade: manter nomes de variáveis claros, como senhaCorreta e tentativas.
  • Generalização: transformar a lógica em função para reaproveitar em outros contextos.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: o que você prefere evoluir nesse programa, adicionar controle de tentativas como mostrei ou implementar um sistema de usuários com senhas diferentes?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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