Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Esse código rodaria dessa forma, e esta correto em programar dessa maneira?

public void atualiza(double taxa){
        this.saldo *= taxa;
}
5 respostas

Alisson,

Este método da maneira que tu declaraste executaria normalmente, porém o que foi pedido no exercício é para atualizar um saldo para uma taxa passada. Executando desta forma, tu estas pegando o saldo e multiplicando pela taxa, armazenando este resultado na variável saldo. Para realizar o que o exercício propõe, tu deves pegar o resultado desta operação e ainda somar com o saldo atual. O correto seria:

public void atualiza(double taxa){
    this.saldo += (this.saldo * taxa);
}

o método funcionaria dessa maneira, inclusive é sempre bom criar métodos que recebam o que você precisa fazer, os nomes também estão muito interessantes, é como se o código falasse por si só.

é como se o método falasse:

-você quer que eu atualize o saldo ? então me passa a taxa ai eu atualizo.

para esse método funcionar ele depende desse parâmetro, fazendo assim com que exista uma inversão de dependência, agora o programador que usar esse método, sempre será obrigado a passar a taxa como parâmetro.

public void atualiza(double taxa){ this.saldo *= taxa; }

espero ter ajudado, se não totalmente, pelo menos em alguma coisa, um abraço!

solução!

Olá Alisson, rodaria sim porém não estaria correto

public void atualiza(double taxa){
        this.saldo *= taxa;
}

Acredito que sua dúvida deva estar relacionada ao método em questão. Sendo assim vamos a questão, no enunciado é pedido que você adicione um método na classe Conta, que atualiza essa conta de acordo com uma taxa percentual fornecida.

Ele soma ao saldo atual, a multiplicação do saldo atual pela taxa, fornecida como um double para o método. A assinatura do método deve ser

atualiza(double taxa)

Ok.Se vc fizer:

public void atualiza(double taxa){
        this.saldo *= taxa;
}

Estara fazendo

this.saldo = this.saldo* taxa

Vamos supor que nosso saldo é de 1000 reais.E o que vai acontecer com uma taxa de 0.10 por exemplo:

this.saldo = this.saldo* taxa
this.saldo = 1000 * 0.10;
this.saldo = 100

Ou seja estará calculando apenas o valor do nosso acréscimo que é 100 reais e não o valor do nosso saldo atualizado que deveria ser de 1100.

Portanto para resolvermos essa questão necessitamos fazer da seguinte forma:

public void atualiza(double taxa){
        this.saldo += this.saldo * taxa;
    }

Fazendo assim e aplicando os nossos valores utilizados para demonstração teremos:

this.saldo += this.saldo * taxa;
this.saldo = this.saldo + this.saldo * taxa;
this.saldo = 1000 + 1000 * 0.10;
this.saldo = 1000 + 100;
this.saldo = 1100

Agora sim temos nosso saldo atualizado conforme a taxa que aplicamos. Ajudei.

Oi Alisson, você conseguiu solucionar essa questão. Alguma dúvida ainda ?

Opa sim sim Maison vou fechar o tópico obrigado