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

Erro compilação

Olá, Meu programa não está compilando, mas não estou achando o que está errado. Já olhei as respostas dos exercícios 2 e 3 e para mim estão iguais aos meus.

Segue classe ContaPoupanca: public class ContaPoupanca extends Conta implements Comparable{

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

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

}

Segue classe TestaOrdenação public class TestaOrdenacao {

public static void main(String[] args) { List contas = new ArrayList();

ContaPoupanca c1 = new ContaPoupanca(400,"Caio"); c1.deposita(1500.0); contas.add(c1);

ContaPoupanca c2 = new ContaPoupanca(); c1.deposita(1000.0); contas.add(c2);

Collections.sort(contas);

for (Conta conta : contas) { System.out.println(conta); }

} }

Erros apresentados: 1)New ContaPoupanca, pois não é possível passar os parâmetros. 2)Sort da Collections.

Obrigada.

2 respostas
solução!

tenta declarar assim List contas = new ArrayList();

não intendi o seu compareTo tenta fazer algo mais ou menos assim

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

Olá Alexandre, Concordo com sua resposta, também havia feito o comparableTo como vc fez, errei no ctrl + c e ctrl + v. Está desta forma pois a resposta do exercício é a que coloquei acima. Sobre a declaração do ArrayList, vi que o eclipse aceita ContaPoupanca, porém não aceita Conta. Não entendi, pois ContaPoupanca extends de Conta. Abri outra discussão ontem sobre a resposta do exercício e também sobre o ArrayList. Muito obrigada pela sua resposta, me ajudou!

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