Comparação

Bom dia =)

a minha dúvida é a seguinte, eu preciso verificar se o sobrenome de um individuo possui mais de 2 caracteres,
se nao possuir o programinha precisa enviar uma msg de erro falando que o sobrenome possui menos de 2 caracteres, estou fazendo a comparação assim:

if (nome.charAt(nome.indexOf(" ") + 1) < 2)

mais eu sei que assim está errado pq ele vai até o espaço e encontra a primeira letra após o espaço, mais nao procura no sobrenome inteiro, alguem sabe uma maneira de fazer essa comparação?

Obrigado.

Você pode usar um StringTokenizer e depois verificar o tamanho da 2ª String…

usa split:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#split(java.lang.String)

nao consegui usar nenhum dos dois metodos ;x
sou meio novo no Java, aprendi o básico do básico só, e ta complicado pra fazer essa comparação
iauheihiawehawiuea

String[] nomeESobrenomes = nomeCompleto.split("\s+"); // separa quando encontra um ou mais espaços ínt tamanho = 0; if (nomeESobrenomes.length >= 2) { String primeiroSobrenome = nomeESobrenomes[1]; tamanho = primeiroSobrenome.length(); }

Obs: Não funciona para nomes no formato japonês.

Você é novo, então recomendo que comece a aprender a ler a api Java:

http://java.sun.com/javase/6/docs/api/

Procure pela classe String e veja as possibilidades. Como já disseram, o método split(String regex) é o mais recomendado para essa situação.

Fernando

consegui fazer, o código ficou assim:

else if (nome.substring(0,nome.indexOf(" ")).length() < 2){
			JOptionPane.showMessageDialog(null, "O Nome deve conter pelo menos 2 caracteres", "Erro", 0);
			System.exit(0);
		}

Brigadao :slight_smile: