Pegar resto da string

Tenho uma função que recebe nome, mas to tendo problemas, porque quem usa pode colocar a primeira letra minúscula, dai bugar tudo…
Tive uma ideia de pegar a primeira char e dar um toUpperCase, e pegar todo o resto e dar um toLowerCase(), depois juntar tudo.
Meu problema é básicamente em “pegar todo o resto”

Código:

    public String getNome() {
        // pegar a primeira letra e colocar maiuscula
        String pm = nome.toUpperCase();
        char primeiraletra = pm.charAt(0);
        // pegar todo o resto e colocar minuscula
        String resto = nome.toLowerCase();
        // retornar a nova string "Nome"
        String nova = primeiraletra + resto;
        return nova;
    }

Alguém sabe como pegar esse todo o resto?

Vc poderia usar um loop (for) que vai de 1 até resto.length() e adicionar cada caractere na string nova.

Ou usar o método substring(1).

2 curtidas

Vc pode usar o método substring.

O exemplo abaixo foi baseado nesta resposta: https://stackoverflow.com/a/11149580

private static String capitalize(final String line) {
   return Character.toUpperCase(line.charAt(0)) + line.substring(1).toLowerCase();
}

Fiz um exemplo funcional aqui.

1 curtida

Valeu gente, muito obrigado!