Boa noite, como que eu faço para que eu possa alterar o saldo da conta e não ficar fixo ?

private double saldo;

public double getdepositarQuantia()
{
double quantia = 1000.00;
double saldo = this.saldo + quantia;
return saldo;
}

public double getSacarQuantia() 
{
    double saque = 200.00;
    double saldo = this.getdepositarQuantia() - saque;
    return saldo;
}

public double obterSaldo() 
{

    double novoSaldo = this.getSacarQuantia();
    double debito = this.getSacarQuantia() * 0.005;
    double total = novoSaldo - debito;
    return total;
}

Como assim não ficar fixo? Vc quer atualizar o saldo toda vez que inserir um valor?

Quando você for depositar, você apenas envia o valor para o método a partir do main ou o que chamar o mesmo.

No método de sacar, não use o this.getdepositarQuantia() - saque;, pois você está adicionando 1000 e depois tirando 200, o mesmo comentário do primeiro vale para esse. Use this.saldo - saque;, que vai pegar o saldo atual, e retirar o valor do saque.

O obterSaldo() você só vai querer dentro dele return this.saldo;, pois ao chamar esse método, você deseja receber apenas o saldo, funções adicionais devem ser feitas em métodos adicionais.

Boa noite, mas ai o que eu possa fazer então ?

Você deixa um valor aqui private double saldo; e adiciona/altera/remove conforme queira nos métodos/main, ou se quiser algo fora a parte, use um banco de dados ou algo que simule o mesmo.

exatamente isso , por exemplo este valor ai mil , eu não tenho a variável para este valor , ai eu criei um valor 1000.

public void Subtrair() {
    if (op.getText().equals("-")) { //"op" é o nome do meu TextField com o sinal de -
        Double resultado1 = Double.parseDouble(campototalrecebido.getText()) - Double.parseDouble(campototalgasto.getText());
        camposaldo.setText(String.valueOf(resultado1));
        DecimalFormat twoPlaces = new DecimalFormat("¤ 0.00");
        Locale locale = new Locale("pt", "BR");
        NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(locale);
        camposaldo.setText(twoPlaces.format(resultado1));
    } else {
    }
}

Não desfazendo da sua lógica, não tem um meio mais fácil não ?

1 curtida
public void Subtrair() {
    if (op.getText().equals("-")) { //"op" é o nome do meu TextField com o sinal de -
        Double resultado1 = Double.parseDouble(campototalrecebido.getText()) - Double.parseDouble(campototalgasto.getText());
        camposaldo.setText(String.valueOf(resultado1));
        camposaldo.setText(twoPlaces.format(resultado1));
    } else {
    }
}

O decimal era só pra fazer o valor ficar convertido em “R$100,00”

O que eu faço basicamente é: pegar o valor do meu valor de recebidos e subtrair com o meu valor de gastos. Com isso eu tenho o valor do saldo.

private double saldo;

public void depositar(double quantia) {
    saldo += quantia;
}

public void sacar(double quantia) {
    saldo -= quantia;
}

public double obterSaldo() {
    return saldo;
}
2 curtidas