HashMap

3 respostas
M

Oi
Estou com problemas!!!

Tenho uma apresentação, que quando pesquiso o codigo do cliente que é um string, mas na verdade na classe cliente é um inteiro me dá erro na conversão…tenho 3 classes: cliente, contacorrente e apresentação, pra guardar os clientes uso um HashMap, pra guardar as contas uso um ArrayList…
Se alguem tiver fontes com exemplos de uso de hashmap me envie por favor…

ME AJUDEM!!!

Valeu
Marci

System.out.println(" Deseja sacar e/ou depositar: ");

System.out.println("\t S para sacar ");

System.out.println("\t D para depositar ");

opcao = teclado.readLine();

while(!opcao.equalsIgnoreCase(“fim”)){

System.out.print(" Informe o codigo do cliente: ");

codigo = teclado.readLine();

cliente umCliente =(cliente) clientes.get(Integer.parseInt(codigo));//AQUI DA ERRO!!!

if(umCliente != null){

System.out.print(" Informe o numero da conta");

numero= teclado.readLine();

boolean achou = false;

ContaCorrente= null;

for(int i=0; i< contas.size(); i++){

c= (ContaCorrente) contas.get(i);

if(c.getNumero() = numero){

achou= true;

break;

}

if (achou){

if(!opcao.equalsIgnoreCase(“s”)){

System.out.print(“Informe quanto deseja sacar:”);

valor = teclado.readLine();

return c.sacar(valor);

}

else

{ System.out.print(“Informe quanto deseja depositar:”);

valor =teclado.readLine();

return c.depositar(valor);

}

}//fecha o achou

}//fecha o for

System.out.println(" Deseja sacar e/ou depositar: ");

System.out.println("\t S para sacar ");

System.out.println("\t D para depositar ");

opcao = teclado.readLine();

}//fecha o while

3 Respostas

_

Qual o erro que esta dando? Aparece o que na tela?

Eu tenho uma hipotese: Sua chave na tabela nao eh um inteiro, mas um objeto INTEGER, pois Hashmps nao guarda tips primitivos em seu conteudo, assim como qualquer outro objeto de java.util (Nao pesquisei para ter certeza, se estiver errado alguem me avise)

Entao como voce esta transformando o String em int, ocorre problemas, pois a tabela espera um Integer!

Tente transformar o String em Integer, e use o get no mapa, eu acho que da certo.

valeu()

M

eu tenho na classe clientes o codigo como int e na classe de apresentação estou lendo ele como string na hora de pesquisar.

ai faço a conversão, como me disserão que o hasmap não aceita tipos como int, não sei o que faço: não entendo direito como funciona o hashmap, e me respondam int e integer não são a mesma coisa???

cliente umCliente =(cliente) clientes.get(Integer.parseInt(codigo));

o erro que dá é: canot resolve symbol - class cliente

oque eu posso fazer pra resolver isso??

M

troquei o codigo do cliente na classe cliente de int para Integer,

mas na classe apresentação, quando estou lendo ele e guardando dentro de umCliente ele me dá o seguinte erro:
cannot resolve symbol - method parseInteger(java.lang.String)

umCliente= new Cliente(nome, Integer.parseInteger(codigo), endereco);

Criado 15 de novembro de 2004
Ultima resposta 15 de nov. de 2004
Respostas 3
Participantes 2