package Meuscodigos;
import java.io.*;
class Vetor1{
private Object item[];
private int primeiro,ultimo,pos;
public Vetor1(int tamanhoMaximo){
this.item = new Object[tamanhoMaximo];
this.pos=-1;
this.primeiro=0;
this.ultimo=this.primeiro;
}
public void insere(Object x) throws Exception{
if(this.ultimo>= this.item.length)
throw new Exception("Erro:A lista esta cheia");
else{this.item[this.ultimo]=x; this.ultimo = this.ultimo+1 ;}
}
public static void main(String[] args){
try {
Vetor1 lista = new Vetor1(5);
Integer obj_int = new Integer(5);
lista.insere(obj_int);
System.out.println(lista);
}
catch(Exception e){
e.printStackTrace();
}
}
}
Deveria imprimir o número “5”.
O que ocorre é o que está sendo impresso é o endereço de memória do seu objeto, não seu conteúdo.
Você tem 2 opções mais simples:
- criar um método imprimir() na sua classe Vetor1 que faz um loop e exibir cada um dos itens do vetor, chamando esse método ao invés de fazer System.out.println(lista);
- sobrescrever o método toString() da classe Vetor1 para fazer esse trabalho, daí você pode manter o System.out.println(lista);
Abraço.
1 curtida
Terra poderia me mostrar como voce desenvolveu o metodo mostrar() ?