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

Resolução do Desafio

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

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

        Scanner scanner = new Scanner(System.in);

        Pattern pattern = Pattern.compile("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9]).{8,}$");

        System.out.print("Digite a senha: ");
        String senha = scanner.nextLine();

        Matcher matcher = pattern.matcher(senha);

        if (matcher.matches()) {
            System.out.println("A senha é valida");
        } else {
            System.out.println("A senha é inválida!");
        }
        
        scanner.close();

    }
}
1 resposta

Fala, Pablo! Tudo bom?

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

Curti demais como apresentou o uso de expressões regulares para validar a senha, destacou a aplicação da classe Pattern e ainda mostrou a importância de usar o Matcher para verificar se a entrada atende aos critérios. Esse tipo de implementação é excelente para treinar segurança e boas práticas de programação em Java.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Reutilização: encapsular a lógica de validação em um método separado para facilitar manutenção.
  • Escalabilidade: permitir que os critérios de validação sejam configuráveis, em vez de fixos no código.
  • Feedback detalhado: informar ao usuário qual requisito da senha não foi atendido (exemplo: falta de caractere especial).

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

Ah, uma pergunta: você prefere trabalhar com validações de entrada voltadas para segurança (como senhas) ou gosta mais de implementar regras de negócio em sistemas corporativos?

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!