Fragmento de Codigo

2 respostas
D

Desenvolver um método verificaPessoa que retorna um boolean após pesquisar no Mapa um nome passado por parâmetro.

1º

public static boolean  verificaPessoa (String Nome){

int tamanho = map.size();

String nome= ?João?;

for (int i=0;  i<= tamanho;   i++){

if (nome == map.getNome(){

return true;

else

return false;

}

}

}
2º Método

public static boolean verifica Pessoa (String Nome){

String Nome = ?João?;

for(valor : map ){

if(valor==nome){

return true,

}else{

Return false;

}

}

}

3° Método

Public static Boolean verificaPessoa(string Nome){

String Nome=?João?;

If(map.contains(valor)==Nome){

Return true;

}else{

Return false;

}

}

}

Amigos estou com esta duvida, qual fragmento de codigo e o mais apropriado, um enorme abraço!!!

2 Respostas

A

cara,

primeiro, quando for postar algum codigo, utilize a tag code,

quando vc fala de mapa é hashMap, se for, dos tres opções que vc passou está errado, basta fazer o seguinte

HashMap<String, String> lista = new HashMap<String, String>();
boolean teste = lista.containsKey("CHAVE");

t_

TerraSkilll

davidwilson
Dica: use a tag Code quando for postar códigos. Fica melhor para ler.

Na minha opinião, o que chega mais perto de estar certo é o 3º método. Se uma coleção qualquer (Arraylist, LinkedList, Map) contém algum método para localizar um elemento (como contains), não faz sentido, a princípio, fazer o código de comparação para a busca (como o for dos fragmentos 1 e 2).

Pergunta: onde você pegou esse código? Parece ter alguns problemas:

  • a classe Map (http://download.oracle.com/javase/6/docs/api/java/util/Map.html) não tem método contains(), e sim containsKey() e containsvalue();
  • objetos devem ser comparados com equals(), não com ==;
  • de onde surgiu a variável valor ?
  • o que faz essa linha String nome= “João”; ? Foi para testar o código?
  • o terceiro método poderia ser simplificado:

public static Boolean verificaPessoa(String Nome){ return map.containsKey(Nome); }

Abraço.

Criado 14 de novembro de 2011
Ultima resposta 14 de nov. de 2011
Respostas 2
Participantes 3