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

Imprime algo que eu não entendo!

Ola, o meu programa imprime isso: "br.com.empresa.banco.conta.contaPoupanca@15db9742 br.com.empresa.banco.conta.contaPoupanca@6d06d69c br.com.empresa.banco.conta.contaPoupanca@7852e922"

Alguém pode me ajudar?

package br.com.empresa.banco;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

import br.com.empresa.banco.conta.contaPoupanca;


public class testaOrdenacao {
    public static void main(String[] args) {
          List<contaPoupanca> contas = new LinkedList<contaPoupanca>();

            contaPoupanca c1 = new contaPoupanca("Caio", 5, 200);
            c1.deposita(1500.0);
            contas.add(c1);

            contaPoupanca c2 = new contaPoupanca("Adriano", 3, 300);
            c2.deposita(2050.99);
            contas.add(c2);

            contaPoupanca c3 = new contaPoupanca("Victor", 7, 100);
            c3.deposita(1070.0);
            contas.add(c3);

            Collections.sort(contas);

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

}

insira seu código aqui

package br.com.empresa.banco.conta;

public class contaPoupanca extends conta implements Comparable<contaPoupanca>{

    public contaPoupanca(String nome, int numero, double saldo) {
        super(nome, numero, saldo);

    }
    public void atualiza(double taxa) {
        super.atualiza(taxa*3);
    }
    @Override
    public int compareTo(contaPoupanca outra){
        return this.getNumero() - outra.getNumero();

    }


}

insira seu código aqui

package br.com.empresa.banco.conta;

public class conta {
    private double saldo;
    private int numero;
    private String nome;

    public conta() {
    };

    public conta(String nome, int numero, double saldo) {
        this.nome = nome;
        this.numero = numero;
        this.saldo = saldo;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public void saca(double valor) {
        this.saldo -= valor;

    }

    public void deposita(double valor) {
        if (valor < 0)
            throw new valorIlegal(valor);
        else
            this.saldo += valor;
    }

    public void atualiza(double taxa) {
        this.saldo -= this.saldo * taxa;
    }

    public boolean equals(Object obj) {
        conta outraConta = (conta) obj;

        return (this.numero == outraConta.numero) && (this.nome == outraConta.nome);
    }

    public void imprime() {
        System.out.println("Nome do Cliente: " + nome);
        System.out.println("Numero da Conta : " + numero);
        System.out.println("Saldo da Conta: " + saldo);
    }

}
3 respostas
solução!

Como suas classes ainda não implementam o toString, está usado o que eh herdado da classe Object. Mais pra frente no curso vc vai ver :).

Por sinal, eh uma parte da referência de memória.

Valeu, Alberto!!