Métodos para Depositar e Sacar valor usando ArrayList

2 respostas
Tecnica

Olá,

Estou comum projeto java que ja esta criando a conta, consulta e exclui,
mas da erro quando escolhe opção de DEPOSITAR E SACAR. Abaixo parte da classe Conta e
o código do JButton de deposito e sacar.
Obs: Como faço pra atualizar o ArrayList e retornar esse valores atualizados apos depositar e sacar?

public int depositar(double valor){

if(valor >0){

saldo += valor;

return 1;

}

else

return 0;

}

public int sacar(double valor){

if(valor > 0 && valor <= saldo){

saldo -= valor;

return 1;

}else

return 0;

}

}
JButton pra realizar o deposito:

private void btConfirmaDepositoActionPerformed(java.awt.event.ActionEvent evt) {

if(tfNConta.getText().isEmpty() || tfValorDeposito.getText().isEmpty()){

JOptionPane.showMessageDialog(this, Um ou mais campo está vazio!);

}else{

double valor;

int numero;

valor = Double.parseDouble(tfValorDeposito.getText());

numero = Integer.parseInt(tfNConta.getText());
Conta c;
      c = buscaConta(numero);
      
      if(c!=null){
        if(c.depositar(valor) == 1){
              JOptionPane.showMessageDialog(this, "Depósito realizado!");                  
        }else
          JOptionPane.showMessageDialog(this, "Depósito NÃO realizado!");
        }else{
          JOptionPane.showMessageDialog(this, "Essa conta não existe");
        }   
    }
}                                                  

private Conta buscaConta(int numero) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

}

JButton pra realizar o saque:

private void btConfirmaSaqueActionPerformed(java.awt.event.ActionEvent evt) {

if(tfNumeroC.getText().isEmpty() || tfValorSacar.getText().isEmpty()){

JOptionPane.showMessageDialog(this, Um ou mais campo está vazio!);

}else{

double valor;

int numero;

valor = Double.parseDouble(tfValorSacar.getText());

numero = Integer.parseInt(tfNumeroC.getText());

int n = 0;

Conta c = null;
for(Conta consultar: cadastro){
         if(Integer.parseInt(tfNumeroC.getText())== consultar.getNumero() && c.depositar(n) == 1)
             consultar.depositar(valor);
         else
            JOptionPane.showMessageDialog(this, "Saldo indisponível");
             
    }
 }

2 Respostas

Matheus_Emanuel

Você pode fazer um método na sua classe Conta que busque no seu ArrayList se o número da conta passada como parâmetro é de uma conta existente, se essa conta existir o método devolve essa conta e você faz as alterações de depositar e sacar nessa conta que foi retornada.

Tecnica

Esta bem, vou tentar.
Tankyou.

Criado 17 de setembro de 2017
Ultima resposta 17 de set. de 2017
Respostas 2
Participantes 2