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("^\\d{3}[.]\\d{3}[.]\\d{3}-\\d{2}$");

        System.out.print("Digite o CPF: ");
        String cpf = scanner.nextLine();

        Matcher matcher = pattern.matcher(cpf);

        if (matcher.find()){
            System.out.println("O CPF " + cpf + " está no formato válido");
        } else {
            System.out.println("O CPF " + cpf + " está no formato inválido");
        }

        scanner.close();

    }

}


1 resposta

Fala, Pablo! Tudo bom?

Agradeço por compartilhar sua solução no fórum!

Curti demais como explorou o regex para validar o formato de CPF com Java, compreendeu perfeitamente a importância do Matcher para verificar padrões e utilizou bem o Scanner para capturar a entrada do usuário.

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

  • Validação completa: além do formato, implementar a lógica dos dígitos verificadores do CPF.
  • Feedback claro: informar ao usuário qual parte está incorreta (formato ou dígito verificador).
  • Organização: encapsular a validação em um método validarCpf(String cpf) para reutilização.

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ê pretende evoluir essa validação apenas para formato ou já pensa em implementar a checagem completa dos dígitos verificadores do CPF?

Abraço e bons estudos!

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