Oi, Felipe! Como vai?
Você aplicou muito bem o uso de regex junto com a classe Pattern para validar o código de referência. Sua solução ficou bem clara e eficiente.
Uma dica interessante para o futuro é usar também o método matches() diretamente na string, o que pode simplificar o código em situações mais simples. Veja este exemplo:
Scanner scanner = new Scanner(System.in);
System.out.println("Digite o código de referência: ");
String code = scanner.nextLine();
if (code.matches("[A-Z]{3}-\\d{4}")) {
System.out.println("O código de referência está válido.");
} else {
System.out.println("O código de referência está inválido.");
}
scanner.close();
Esse código faz a mesma validação, mas de forma mais enxuta, usando matches() diretamente na string.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!