1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Java] Vectores

Discussão em 'Programação' iniciada por tseabra, 25 de Novembro de 2007. (Respostas: 10; Visualizações: 1547)

  1. 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
     
  2. Usa o método split da classe String para obter a última palavra de cada string. ;)
     
  3. Mas esse método separa pelos espaços ou separa carater a carater?
     
  4. 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
     
  5. Baderous

    Baderous Banido

    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).
     
  6. PJTuga

    PJTuga Power Member

    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))
     
  7. Baderous

    Baderous Banido

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

     
  8. RokeSLB

    RokeSLB Power Member

    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: 25 de Novembro de 2007
  9. usei o contains

    Código:
    if (listaA[i].contains(nome))
    
     
  10. Fabio Fernandes

    Fabio Fernandes Power Member

    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.
     

Partilhar esta Página