2
respostas

Gerar somátorio de todas as contas

Como faria neste codigo para inserir um somatório do saldo de todas as contas?

package bank;
//import bytebank.Conta;

public class Conta {
    private double saldo;
    private int agencia = 71;
    private int numero;
    private Cliente titular;
    private static int total;

    public Conta(int agencia, int numero) {
        Conta.total++;
    //    System.out.println("O total de contas é : " + Conta.total);
        this.agencia = agencia;
        this.numero = numero;
    //    System.out.println("Estou criando uma conta "+ this.numero);

    }



    public void deposita(double valor_deposito) {
        this.saldo += valor_deposito;
    }

    public boolean transf(double valor, Conta destino) {

        boolean baixa = this.saca(valor);
        if (baixa) {
            destino.deposita(valor);
            return true;
        }
        return false;

    }

    public boolean saca(double valor) {

        if (this.saldo >= valor) {
            this.saldo -= valor;
            return true;
        }
        return false;
    }

    public double getSaldo(){
    return this.saldo;    
    }

    public int getNumero() {
      return this.numero;  
  }

    public void setNumero(int num) {

        if (num <=0) {
            System.out.println("Não permitidos valores negativos");
            return;
        }
        this.numero = num;


    }

    //public int getAgencia() {
    //    return this.agencia;
    //}

    public int getAgencia() {
        return this.agencia;
    }

    public void setAgencia(int novaAgencia) {
        if (novaAgencia >= 0) {
        this.agencia = novaAgencia;
        return;
    }else {
        System.out.println("Não permitidos valores negativos");
    }
    }

    public Cliente getTitular() {
        return titular;
    }

    public void setTitular(Cliente titular) {
        this.titular = titular;
    }

public static int getTotal() {

    return Conta.total;

}



}
2 respostas

Achei uma forma gerando uma nova classe como a abaixo:

public class SomaSaldC{

private double soma;

public void somaSaldo(Conta a) {

    double pegaSaldo = a.getSaldo();

    this.soma = this.soma + pegaSaldo;
}

public double getSoma() {
    return soma;
}

}

e inicializando o a classe com o codigo abaixo SomaSaldC somasaldo = new SomaSaldC();

e sempre e inicializo uma nova conta chamo o codigo abaixo: somasaldo.somaSaldo(conta);

alguém teria uma solução mais prática?

Boa noite, Cristhyan! Como vai?

A sua solução está no caminho certo! Eu só te daria duas dicas:

  1. Quando criar uma classe, variável, método ou atributo, dê um nome semântico e claro! Veja que SomaSaldC não é lá muito claro! É tarefa do bom programador escrever um código legível e que facilite a manutenção do mesmo!

  2. A sua solução já está muito boa dado que vc está no curso Java Parte 2! Mais para frente vc terá um conhecimento melhor sobre essa linguagem e a possibilidade de melhorar ainda mais esse código! Sendo assim, siga em frente rumo à luz do conhecimento!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!