[Java] Vectores

tseabra

Membro
ora esta é a situação:

preciso de criar um método que que procure a num vector de nomes os nomes que tenham um determinado apelido .

O problema é que cada posição do vector tem um nome completo .


O compareTo() funciona nesta situação ?

Obrigado
 
ora esta é a situação:

preciso de criar um método que que procure a num vector de nomes os nomes que tenham um determinado apelido .

O problema é que cada posição do vector tem um nome completo .


O compareTo() funciona nesta situação ?

Obrigado
Usa o método split da classe String para obter a última palavra de cada string. ;)
 
não consigo perceber como é que se usa esse metodo .

não o consigo usar sem erro !

o que pretendo é dada uma string de nomes procurar um determinado nome(s) apenas introduzindo o apelido . :s
 
Para cada posição desse vector de nomes, ou seja, para cada nome, usas o método split para obter o apelido e de seguida comparas esse apelido com aquele que tu pretendes encontrar (através do método equals ou compareTo: link).
 
ora esta é a situação:

preciso de criar um método que que procure a num vector de nomes os nomes que tenham um determinado apelido .

O problema é que cada posição do vector tem um nome completo .


O compareTo() funciona nesta situação ?

Obrigado

eu estou usar o netbeans 6.
Não sei qual usas (provavelmente usaas o 5, porque é que nos usamos nas aulas)
No netbeans 6 tens uma opção .endswith
O 5 também deve ter.
o meu codigo ficou assim

Código:
if (listaA[i].endsWith(apelido))
 
eu estou usar o netbeans 6.
Não sei qual usas (provavelmente usaas o 5, porque é que nos usamos nas aulas)
No netbeans 6 tens uma opção .endswith
O 5 também deve ter.
o meu codigo ficou assim

Código:
if (listaA[i].endsWith(apelido))

Isso não é exclusivo do netbeans: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#endsWith(java.lang.String)

endsWith

public boolean endsWith(String suffix)

Tests if this string ends with the specified suffix.

Parameters:
suffix - the suffix.
Returns:
true if the character sequence represented by the argument is a suffix of the character sequence represented by this object; false otherwise. Note that the result will be true if the argument is the empty string or is equal to this String object as determined by the equals(Object) method.
 
experimenta algo do genero:

public static void procurarApelido ( Vector v, String apelido) {
int contador = 0;
String nome = null;
while (counter < v.size())
nome = v.elementAt(contador);
if (apelido.equalsIgnoreCase( nome.substring(nome.lastIndexOf(' ') + 1))
System.out.println(nome);
++contador;
}
}

agora depende se o que queres fazer é passar para o output o nome que contem esse apelido (como fiz acima), ou retornar alguma coisa.
 
Última edição:
Uma pergunta os nomes que estão na string são o nome todo ou só tem dois nomes o 1º e o apelido?
Já conheci uma pessoa que tinha o apelido igual ao primeiro nome. LOL
No caso de só ter os dois aconselho a usares a solução dada ai em cima endsWith(), se tiver o nome completo aconselho a usares uma solução do tipo StringTokenizer ou então usas o substring() para cortar o primeiro nome e usas o contains() para ver se tem la o apelido no meio dos nomes. Não sei se é preciso ser tão especifico no caso de ser um projecto de programação iniciante mas no caso de fazeres um programa para ser usado na realidade acho que todo o cuidado e pouco.
 
Back
Topo