Olá, Wanderson. Como vai?
Agradeço por compartilhar seu código com a comunidade.
Foi muito bom ver como você estruturou o do while para garantir que o nome só seja aceito quando atender à condição mínima de caracteres. Sua lógica está organizada e demonstra que você compreendeu bem o funcionamento dos laços de repetição. Apenas não é necessário solicitar a leitura novamente dentro do if, pois o próprio while já controla essa repetição.
Uma sugestão para evoluir ainda mais sua solução é utilizar o método trim() para evitar que o usuário digite apenas espaços. Veja este exemplo:
Scanner leitura = new Scanner(System.in);
String nome;
do {
System.out.println("Digite seu nome:");
nome = leitura.nextLine().trim();
if(nome.length() < 3) {
System.out.println("Nome inválido tente novamente");
}
} while (nome.length() < 3);
System.out.println("Nome valido: " + nome);
leitura.close();
O método trim() remove os espaços no início e no fim da string, tornando a validação mais precisa.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!