Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

N entendi o conceito do exercício

O exercício solicita: Faça sua classe ContaPoupanca implementar a interface Comparable. Utilize o critério de ordenar pelo número da conta ou pelo seu saldo (como visto no código deste capítulo).

Logo o meu código foi o seguinte:

package br.com.empresa.banco.conta;

public class ContaPoupanca extends Conta implements Comparable<ContaPoupanca>{

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

    public int compareTo(ContaPoupanca outra) {
        if (this.numero < outra.numero) {
            return -1;
        }else if (this.numero > outra.numero) {
            return +1;
        }
        return 0;
    }
}

Porém a opnião do instrutor é:

public class ContaPoupanca extends Conta implements Comparable<ContaPoupanca> {    

    @Override
    public int compareTo(ContaPoupanca outra) {
        return this.getNumero() - outra.getNumero();
    }
}

Pq devemos utilizar o "return this.getNumero() - outra.getNumero()"?

1 resposta
solução!

Opa, Felipe. Tudo bem? A finalidade do método é saber se as contas são iguais? Creio que a intenção do instrutor é: Se são iguais, esse valor será zero. Caso contrário, será diferente de zero. Provavelmente ele fará a verificação Conta == 0 em algum momento. Espero ter te ajudado nessa. Abraços!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software