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

Imprimir a string

Meu código funciona perfeitamente, entretanto não consigo imprimir os valores, só sai: coisas parecidas como: "br.com.Future.banco.conta.ContaCorrente@4e25154f br.com.Future.banco.conta.ContaCorrente@70dea4e"

Abaixo está disposto o código:

package br.com.Future.banco.conta;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import java.lang.Comparable;
import br.com.Future.banco.conta.*;
public class TesteOrdenacao {

    public static void main(String[] args) {
        List<Conta> contas = new LinkedList<Conta>(); 
        Random random = new Random();

        ContaCorrente c1 = new ContaCorrente("Larissa", random.nextInt(2000));
        c1.deposita(random.nextInt(1000) + random.nextDouble());
        contas.add(c1);

        ContaCorrente c2 = new ContaCorrente("felipe", random.nextInt(100));
        c2.deposita(random.nextInt(1000) + random.nextDouble());
        contas.add(c2);

        Collections.sort(contas);


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

        //@Override
        //public String toString() {
        //    return "Nome: " + conta.nome + " conta: " + conta.getNumero() + " saldo: " + conta.getSaldo();
        //}

    }

}
6 respostas

Gente, eu tento formatar o texto e toda vez da erro. Afinal, me ajudem também e, se possível, já me ensinem a formatar o texto pra ajudar vocês das próximas vezes.. Rsrsrsrs

Oi LariV,

Pelo que parece, você não sobreescreveu o toString da classe Conta. Para você formatar o código, tente deixá-lo entre " ```"

Agora está imprimindo : Nome: null conta: 0 saldo: 641.9607228553823. Não aparece nem o nome nem a conta corretamente. O que estou fazendo errado ?

Mostra a sua classe ContaCorrente? O método toString deve ficar lá. Precisamos ver se vc está atribuindo os valores passados no construtor para os atributos e tudo mais. Para formatar um pedaço de código grande, usa assim:

 codigo
 codigo
 codigo
solução!

No meu caso, com base nos exercícios anteriores isso é resolvido na classe Conta com o toString.

Tá assim:

public String toString() { return "Conta número "+ this.numero +", de "+ this.nome+", com saldo R$" + this.saldo; }

E na classe TestaOrdenacao:

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

Eu cheguei nesta dúvida agora, mas caso ainda não foi resolvido, eu creio que o problema está no seguinte trecho:

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

Você deverá apenas substituir por:

System.out.println(contas);

Dessa forma ele já utilizar o toString automaticamente para organizar a lista, deixando os elementos entre "[ ]".