Problema

2 respostas
T

Boa noite!

Estou a fazer um projecto para a faculdade de fazer lobos, tou a crir um linkedlist de lobos com o nome e a data de nascimento, o problema é que quando imprimo aparece-se isto [fojo.lobo@9cab16], ele nao esta a por bem os dados no linkelist.

o codigo é este

package fojo;

import java.util.LinkedList;
import java.util.Scanner;

public class lobo {
// cria uma LinkedList de lobos

static LinkedList <lobo> Lobo = new LinkedList <lobo>();
static Scanner leitor = new Scanner(System.in);
private static String nascimento;
private static String nome;

public lobo(String nome, String nascimento) {
	lobo.nascimento = nascimento;
	lobo.nome = nome;
}
public static void leDadosLobo() {

// le os dados

nome = leitor.next();

nascimento = leitor.next();

}
public static void adicionarDados(){

Lobo.add(new lobo(nome, nascimento));

System.out.print(Lobo);

}

public static void imprime(){
System.out.print("{");

for(int i = 0; i < Lobo.size(); i++)
		
        System.out.print(lobo.nome + " = lobo " + lobo.nome + "/" + lobo.nascimento + ",");
		
	System.out.println("}");

}

Obrigado =)
:

2 Respostas

tinorberto

Quando for colocar codigo coloque dentro das tags code , nesta parte do seu codigo …

public static void adicionarDados(){
Lobo.add(new lobo(nome, nascimento));
System.out.print(Lobo);

}

Quando vc faz isso vc , e o mesmo que chamar o metodo toString do objeto lobo , como todo objeto e extendido da classe object vc esta chamando o metodo tostring da classe objetc , assim vc tem a saida deste jeito getClass().getName() + ‘@’ + Integer.toHexString(hashCode()) fojo.lobo@9cab16 onde este numero depois do @ representa o codigo na tabela hash.

O melhor jeito para rresolver isso e criar um metodo imprime na sua classe lobo , ou fazer igual vc fez na main

System.out.print(lobo.nome + " = lobo " + lobo.nome + "/" + lobo.nascimento + ",");

acho q e isso …flw

T

já fiz o metodo toString e mete la coisas, so que quando faço a segunda vez para meter um nome e uma data de nascimento, ele apaga-me o que meti la de inicio =/

case LISTAR:
if(lobo.verificaLobo())
		System.out.println("Nao tem nada para listar, insira um lobo");
	else
		System.out.print(lobo.Lobo);
	
	break;

chamo assim na main!

Criado 13 de dezembro de 2008
Ultima resposta 13 de dez. de 2008
Respostas 2
Participantes 2