Aplicar taxa ao sacar valor da conta

3 respostas
A

Boa tarde Galera!!

Estou lendo uma apostila em Java(acho que muitos já conhece essa apostila), dai me deparei com um exemplo simples, que é de uma Conta, onde tenho uma classe filha do tipo ContaCorrente.

Na ContaCorrete existe um método simples que é “saca”, que ao tenta realiza um saque uma taxa será cobrada.

Ex:

public double saca(double valor) {
   return this.saldo -= (valor + 0.3);
}

Até ai tudo bem!! Mas queria ir além, ou seja, queria que esse método se comportasse da seguinte forma: "Tenho um saldo de R$30 e quero saca R$20. Para cada R$10,00 sacado, uma taxa de 0.3 seja descontado no saldo do cliente ", tentei mais não consegui fazer como queria.

3 Respostas

TerraSkilll

Algo assim?

class ContaCorrente{
  float saldo = 30;

 // demais métodos

  public boolean saca(float valor){
    if (this.cobrarTarifa(valor)){
      this.saldo -= valor; // conseguiu sacar
      return true;
    }else{
      return false; // não conseguiu sacar
    }
  }

  private boolean cobrarTarifa(float valor){
    float tarifa = Math.floor(valor / 10.0f) * 0.3;

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

Abraço.

A

TerraSkilll… Obrigado.

Só fiz um reajuste rápido no seu código.

DE

if (tarifa >= (this.saldo - valor){…}

PARA

if (tarifa <= (this.saldo)){…}

Pois ele sempre retornava false…

Mais ajudou muito, Obrigado :]

TerraSkilll

Posso ter errado mesmo, fiz de cabeça.

Que bom que funcionou.

Abraço.

Criado 8 de fevereiro de 2017
Ultima resposta 10 de fev. de 2017
Respostas 3
Participantes 2