Retorna o número de caracteres

Preciso colocar quantos caracteres contem a String!!
Caso seja digitado mais que 20 caracteres… a mensagem vai para o else.
Eu vi alguma cois sobre o comando int length() que retorna nº caracteres contidos na String corrente…mas eu não sei usar esse comando…help pessoal.

while (true)
{
nome = JOptionPane.showInputDialog(null,“Nome do aluno”,“Informe”,3);
if (nome == null) System.exit(0);

		nome = nome.trim();		
		if (nome.length() >= 1 && nome.length() <= 20) break;
		
		else JOptionPane.showMessageDialog(null,"Deve ser um nome contendo entre 1 e 20 caracteres","Erro",0);							
	}

Junior pelo que eu vi o seu codigo está certo. Só fiz pequenas melhorias como declarar nome como String para poder utilizar o metodo lenght(), e para comparar se a pessoa não digitou nada tambem utilizei o metodo equals. ta ai o codigo com as modificações

String nome;
while (true) {
nome = JOptionPane.showInputDialog(null,“Nome do aluno”,“Informe”,3);

        if (nome == null || [b]nome.equals("")) [/b]
            System.exit(0);            
       
         nome = nome.trim();
         
        if (nome.length() >= 1 && nome.length() <= 20)
            break;            
        else 
            JOptionPane.showMessageDialog(null,"Deve ser um nome contendo entre 1 e 20 caracteres","Erro",0);
    }

Pois é…
Não entendi a dúvida, o código está certo.
Porém me surgiu uma dúvida. Por convenção, este método
deveria se chamar getLength() e naum apenas lenght() , não é??

[code]while (true)
{
nome = JOptionPane.showInputDialog(null,"Nome do aluno","Informe",3);
if (nome == null) System.exit(0);//Se for vazio, sai e vai para o else

		nome = nome.trim();//tira os espaços no inicio e no final.			
		if (nome.length() >= 1 && nome.length() <= 20) break;//length conta quantos caracteres tem no texto.
		
		else JOptionPane.showMessageDialog(null,"O nome contém: " + nome.length() + " caracteres" +
										"\nDeve ser um nome contendo entre 1 e 20 caracteres","Erro",0);							
	}[/code]

[quote=“AndreiTognolo”]Pois é…
Não entendi a dúvida, o código está certo.
Porém me surgiu uma dúvida. Por convenção, este método
deveria se chamar getLength() e naum apenas lenght() , não é??[/quote]

Não porque é um método calculado. Lembrando que uma String é - supostamente - um array especial de char então length() retorna o numero de char , ou seja o tamanho do array de char que a String encapsula. Length não é uma propriedade da String é um método utilitário para saber quantos chars tem.

Notar que length() retorna o numero de char e não necessáriamente o numero de caracteres. A equivalencia só existe em algumas línguas. Por isso, a partir do Java 5 existe o método:

public int codePointCount(int beginIndex, int endIndex)

Que retorna o numero de caracteres entre duas posições do array de char. Chamando com (0, length()) retorna o numero de caracteres na String toda