eu to colocando essa duvida aqui, pois de um problema de exceção
codigo
//exibe uma faixa etaria de idade que o usuário determinar publicMappesquisaPorIdade(intidadeMin,intidadeMax){if(mapa.size()==0){returnnull;}if(idadeMin<=0&&idadeMax<=0)returnnull;if(idadeMin>=idadeMax){returnnull;}for(inti=0;i<mapa.size();i++){Pessoaaux=(Pessoa)mapa.get(i);if(idadeMin<=aux.getIdade()&&idadeMax>=aux.getIdade()){mapa.put(aux.getIdade(),aux);}else{}}returnmapa;}
o problema que esta dando é que quando eu passo o parametro da pesquisa, ai ele da um problema nessa linha
Pessoa aux = (Pessoa)mapa.get(i);
a mensagem que aparece é:ClassCastException: Java.lang.String cannot be cast to java.lang.Interger(in java.lang.Integer), essa é a mensagem de erro que aparece.
O objeto que você adicionou no MAP não é do tipo Pessoa.
Tchauzin!
Douglas_Magno
obrigado lina
mrrbigu
Olha não deu para entender nada do código que você passou, não sei o que você está querendo fazer. Imagino que você queira fazer uma pesquisa num conjunto de pessoas e retornar as que estão numa determinada faixa de idade, só que nesse caso normalmente se retorna uma parte ou um novo conjunto como resposta e você está incluindo novos itens no mesmo mapa em que pesquisa!?
charlestff
lina:
Oi,
O objeto que você adicionou no MAP não é do tipo Pessoa.
Tchauzin!
Ele não colocou o código completo aqui, o problema é que ele tem um TreeMap que é esse “mapa” que é do tipo String, e no laço ele está tentando pegar o objeto passando um valor inteiro no caso mapa.get(i)…
e ele tbm já replicou o tópico, nesse caso axo melhor ele postar todo o código para que possamos ajuda-lo.
Douglas_Magno
obrigado mrrbigu
Douglas_Magno
importjava.util.*;importjava.text.SimpleDateFormat;publicclassAgenda{//private ArrayList<Pessoa> pessoas;privateMapmapa;publicAgenda(){mapa=newTreeMap<String,Integer>();//pessoas = new ArrayList<Pessoa>(); }//procurar telefone na lista publicStringprocurarTelefone(Stringnome){if(nome==null)returnnull;if(mapa.size()==0){returnnull;}for(intk=0;k<mapa.size();k++){Pessoaatual=(Pessoa)mapa.get(k);if(nome.equalsIgnoreCase(atual.getNome())){returnatual.getTelefone();}}returnnull;}//adiciona uma pessoa na agenda publicvoidadicionarPessoa(Pessoap){mapa.put(p.getNome(),p);}publicPessoapesPorNome(Stringnome){return(Pessoa)mapa.get(nome);}//exibe uma faixa etaria de idade que o usuário determinar publicMappesquisaPorIdade(intidadeMin,intidadeMax){if(mapa.size()==0){returnnull;}if(idadeMin<=0&&idadeMax<=0)returnnull;if(idadeMin>=idadeMax){returnnull;}for(inti=0;i<mapa.size();i++){Pessoaaux=(Pessoa)mapa.get(i);if(idadeMin<=aux.getIdade()&&idadeMax>=aux.getIdade()){mapa.put(aux.getIdade(),aux);}else{}}returnmapa;}
olha ai o codigo todinho
Marky.Vasconcelos
NÃO DUPLIQUE TÓPICOS.
Por causa disso existem respostas aqui e lá, agora, continue no seu outro tópico.