Como faço para armazenar um GET dentro de outro GET? [+Explico melhor dentro do Tópico] [RESOLVIDO]

Boa tarde!

Imagino que o título tenha ficado confuso então explicarei melhor aqui.

Estou criando um sistema de Banco bem simples em OO e minha dúvida é a seguinte:

O sistema possui duas classes que irão possuir seus atributos e métodos ( Account e Movement ). A classe Account, como próprio nome diz, é a classe para se criar uma nova conta ( Objeto ) quando instanciada assim como a classe Movement.

O problema está na classe Movement. Que acontece exatamente o seguinte:

System.out.println("How much do you want to withdraw?");
          value = input.nextDouble();
          // a varíavel balance da classe Account já possui um certo valor armazenado.
          newAcc.getbalance() = newAcc.getbalance() - value; 

O que acontece na classe Movement? Eu crio um Objeto Account newAcc = Account(); e pego a variável de instância ‘’ balance ‘’, localizada na classe Account através de um get, ou seja, newAcc.getbalance().

Só que o que eu preciso fazer é colocar o resultado de ‘’ newAcc.getbalance() - value ‘’ dentro de newAcc.getbalance(). É possível eu fazer isso? Pois aqui está dando um erro, o que eu estou fazendo de errado?

Obrigado pela ajuda, galera.

Espero que a minha explicação não tenha ficada muito confusa.

Cria um setter

newAcc.setBalance( newAcc.getBalance() - value );

Ou melhor ainda: Cria um método chamado withdraw.

class Account {
    /* ... */
    public void withdraw(double value) {
        if ( value <= balance )
            balance -= value;
    }
}

Muito mais elegante:

System.out.println("How much do you want to withdraw?");
newAcc.withdraw( input.nextDouble() );
1 curtida

Brother, primeira coisa… você encapsulou a variável assim:

classe: account

private double balance;

public double getBalance(){
   return balance;
}

então seu acesso a variável “balance” foi restrita e você só consegue “pegar” o valor dela com o get… O que vc precisa agora é “setar” o valor dessa variável dando suporte pra isso, então na classe account cria:

public void setBalance(double balance){
   this.balance = balance;
}

e usar assim:

System.out.println("How much do you want to withdraw?");
          value = input.nextDouble();
          // a varíavel balance da classe Account já possui um certo valor armazenado.
          newAcc.setbalance(newAcc.getbalance() - value);
1 curtida

Valeu!! Consegui resolver o problema aqui!

O SET eu já tinha criado, só não estava sabendo como usá-lo corretamente nesse caso.

Essa parte do código que passei é justamente de um método chamado ‘’ withdraw ‘’ haha!

É que não passei a informação muito completa, erro meu.

Mas valeu!! Consegui resolver aqui!

muda para Resolvido.