1
resposta

Nome Válido

import java.util.Scanner;

public class NomeValido {
    public static void main(String[] args) {

        String nome;
        Scanner leitura = new Scanner(System.in);

        do {
            System.out.println("Digite seu nome para cadastro");
            nome = leitura.nextLine();

            if (nome.length() < 3) {
                System.out.println("Nome inválido tente novamente");
                nome = leitura.nextLine();

            }

        } while (nome.length() < 3);
            System.out.println("Nome \"" + nome + "\" cadastrado");

            leitura.close();





    }
}
1 resposta

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.

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