Dúvida

5 respostas
Anonner

Estou com o seguinte problema, estou fazendo um programa para “um banco” e tenho dois tipos de contas, conta simples e conta especial que herda de conta simples.
Os dois principais atributos da conta simples são número e saldo. Agora vem o problema, no aplicativo eu fiz lá:
ArrayList lista;

Vamos supor que eu queira fazer um “saque”:
lista.saque(“123”, 10.0)
Temos “123” como número da conta e “10.0” o valor a ser sacado.
Obs: O número da conta é tipo String.
Então, eu tenho o seguinte método em conta simples:

<blockquote>	public boolean verificaNumero(ArrayList lista, String numero){

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

if (numero.equals(lista.get(i).getNumero()) ){

return true;

}

}

return false;

}</blockquote>

O meu problema é, lista não pode entrar como parâmetro. E eu preciso descobrir uma forma de poder usar ela dentro do método.

O java não aceita:

listaConta.saque(listaConta, “1010”, 10.0 );

Então, como faço?

5 Respostas

M

`não entendi muito sua pergunta… voce diz que o seu metodo não aceita receber um arrayList?

Anonner

Acredito que fiz muito circo em volta da pergunta.
A questão é, que tenho uma ArrayList de conta simples, porém quero usar está “lista” de ArrayList dentro do meu método, chamar o método por está lista.
O java não aceita:
lista.saque(lista, 10.0) por exemplo.
Não posso chamar o método por ele e passar ele ao mesmo tempo por parâmetro. Entende?

M

na verdade nao rsrs… voce quer chamar o metodo de dentro dele é isso?

Rodrigo_Sasaki

Você declarou que seu método recebe 2 argumentos, porém você tenta enviar 3. Veja:public boolean verificaNumero(ArrayList<ContaSimples> lista, String numero){ for (int i = 0; i < lista.size(); i++){ if (numero.equals(lista.get(i).getNumero()) ){ return true; } } return false; } Você só recebe um ArrayList e uma String, faltou o valor a ser sacado.

Porém tenho algumas observações.

1 - A classe ArrayList não tem o método saque, não entendi muito bem o que você quis dizer aí, mas se quiser chamar um método seu em uma Coleção, terá que implementar sua própria coleção, herdando de uma das existentes (Ou fazendo sua própria implementação desde o início).

2 - Se for fazer um método saque(Double), faça na classe Conta, não na classe Banco por exemplo. Faz muito mais sentido a Conta ter essa implementação, e a classe Banco não deve saber detalhes da implementação de Conta.

Se isso não tira suas dúvidas, tente elaborar um pouco mais o seu problema, seja objetivo.

Anonner

Quase isso Digão, meu problema é o seguinte:

public boolean verificaNumero(ListaDeConta lista, String numero){ for (int i = 0; i < lista.size(); i++){ if (numero.equals(lista.[b]get(i)[/b].getNumero()) ){ return true; } } return false; }

Eu gostaria de não passar a ArrayList como parâmetro, já que o atributo da ListaDeConta é uma ArrayList, o que quero é passar “ListaDeConta” como parâmetro e ter acesso ao index ‘i’ da arraylist (já que é atributo da listadeconta), como faço?

@Edit

Já consegui, em “ListaDeConta” fiz um método que retorna o index.

Criado 24 de junho de 2012
Ultima resposta 25 de jun. de 2012
Respostas 5
Participantes 3