Olá, Pablo! Como vai?
Parabéns pela resolução da atividade!
Vi que você explorou o Scanner para capturar entrada do usuário em Java, utilizou muito bem o Regex com Pattern e Matcher para validar o formato do código e ainda compreendeu a importância da condicional clara para indicar se o valor digitado está dentro do padrão esperado.
Uma dica interessante para o futuro é usar matcher.matches() em vez de matcher.find(), já que matches() garante que toda a string corresponda ao padrão, evitando falsos positivos. Assim:
if (matcher.matches()) {
System.out.println("O código de referência está válido.");
} else {
System.out.println("O código de referência é inválido.");
}
Isso faz com que a validação seja mais precisa e confiável.
Se quiser aprofundar ainda mais, algumas boas práticas são:
- Tratar exceções: garantir que entradas nulas ou vazias não causem erros.
- Encapsular em função: criar um método
validarCodigo(String codigo) para reutilizar a lógica. - Adicionar mensagens de ajuda: informar ao usuário qual formato é esperado (exemplo: ABC-1234).
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: o que você acha mais interessante evoluir neste código, permitir diferentes formatos de referência com regex mais flexíveis ou manter apenas este padrão fixo para reforçar a prática de validação?
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!