public void atualiza(double taxa){
this.saldo *= taxa;
}
public void atualiza(double taxa){
this.saldo *= taxa;
}
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!
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