public class TesteContas {
public static void main(String[] args) {
ContaCorrente cc = new ContaCorrente(1234,121211);
cc.deposita(1000);
ContaPoupanca cp = new ContaPoupanca(3773,02320);
cp.deposita(200);
System.out.println("Valor antes conta poupanca antes: " + cp.getSaldo());
System.out.println("Valor da conta corrente antes: " + cc.getSaldo());
cc.transfere(100,cp);
System.out.println("Valor da conta poupanca depois: " + cp.getSaldo());
System.out.println("Valor da conta conrrente depois: " + cc.getSaldo());
cc.transfere(100,cp);
System.out.println("Novo valor da conta corrente: " + cc.getSaldo());
}
}
Ao executar esse código executando o polimorfismo e colocando um taxa de 20 centavos por saque/transferência. A primeira vez que executo a transferência e faço o getSaldo aparece o valor correto, mas quando faço a segunda dá um valor errado... Segue o display abaixo:
.jar=51875:C:\Users\syn1985\Documents\Intellij\ideaIC-2020.1.win\bin -Dfile.encoding=UTF-8 -classpath "C:\Users\syn1985\Meus Documentos\Workspace\byteBank-composto\out\production\byteBank-herdado-banco" TesteContas
Valor antes conta poupanca antes: 200.0
Valor da conta corrente antes: 1000.0
Valor da conta poupanca depois: 300.0
Valor da conta conrrente depois: 899.8
Novo valor da conta corrente: 799.5999999999999
Process finished with exit code 0
Sabe dizer porque apareceu 799.5999999999999 ao invés de 799.60?