Assuming you're using console, you can do something like this:
public static String lerNome(String mensagem, Scanner scanner) {
while (true) {
System.out.println(mensagem);
String lido = scanner.nextLine().trim();
if (lido.isEmpty()) {
System.out.println("Desculpe, você não digitou nada. Tente novamente.");
continue;
}
try {
new BigDecimal(lido);
System.out.println("Desculpe, mas " + lido + " é um número. Você deveria ter digitado um nome. Tente novamente.");
} catch (NumberFormatException e) {
return lido;
}
}
}
And then you would use this method like this:
Scanner ent = new Scanner(System.in);
String nome = lerNome("Digite o nome.", ent);
This code shows the message Digite o nome.
and reads a line of text read from the user. If this line of text is blank or a number, it gives an error message and does not exit the loop, prompting the user to retype. Otherwise (not blank and not number), it accepts and returns typed text.