Estava estudando a apostila CS-14: Algoritmos e Estruturas de Dados com Java
no capitulo sobre lista tinha como exemplo duas classes a:Aluno e Vetor
Para fazermos os teste seriam criadas outras classes testes para cada metodo, seguindo o script da apostila
crie a classe TesteAdicionaNoFim que possui o metodo main, tudo sem erro até entao.
Qndo rodei a classe teste (estava usando netbeans) deu uma mensagem concluido c/ sucesso,porem a saida, nao foi como esperado,
apareceu o nome do pacote em que estavam as classes citadas acima com alguns caracteres diferentes.
Sem o código fica muito compicado de ajudarmos você nesse caso. Poste o seu código ok? Não esqueça de usar as tags "[code]" para postar seu código.
Abraços.
charles.eduardo
[quote=nel]Boa tarde.
Sem o código fica muito compicado de ajudarmos você nesse caso. Poste o seu código ok? Não esqueça de usar as tags “[code”]" para postar seu código.
Abraços.
Obrigado…
public class Aluno {
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String toString() {
return this.nome;
}
public boolean equals(Object o) {
Aluno outro = (Aluno)o;
return this.nome.equals(outro.nome);
}
}
obs.: a classe vetor original tem mais metodos porem para facilitar a visualizaçao coloquei somente do primeiro metodo testado…
public class Vetor {
private Aluno[] alunos = new Aluno[100];
public void adiciona(Aluno aluno) {
for (int i = 0; i < this.alunos.length; i++) {
if (this.alunos[i] == null) {
this.alunos[i] = aluno;
break;
}
}
}
}
public class TesteAdicionaNoFim {
public static void main(String[] args) {
Aluno a1 = new Aluno();
Aluno a2 = new Aluno();
a1.setNome("Rafael");
a2.setNome("Paulo");
Vetor lista = new Vetor();
lista.adiciona(a1);
lista.adiciona(a2);
System.out.println(lista);
}
}
nel
Você está mandando imprimir o valor da sua variavél de instancia, por isso a saída indesejavél.
Mas lógico, o que você gostaria de imprimir?
Abraços.
charles.eduardo
nel:
Você está mandando imprimir o valor da sua variavél de instancia, por isso a saída indesejavél.
Mas lógico, o que você gostaria de imprimir?
Abraços.
Conforme o exemplo da pedido na apostila, seria imprimir Rafael Paulo.
Este é o codigo da apostila
nel
Ficou um pouco confuso, não seria lista.outroMétodo() dentro do System.out.println() ?
HI7M4N
Bom, Sou meio novato em Java mas, pelo que eu entendi do seu código é isso mesmo que o nel disse, lista é só uma instância. O correto seria lista.outroMétodo() ou Lista.aluno[a posição no vetor] dentro do System.out.println().
Ta meio confuso mesmo esse código, posta ele completo pra gente ter uma idéia melhor.
G
guiifreitas
System.out.println(lista);
Você está tentando imprimir a instância lista, que é um tipo Vetor.
E o que acontece ? Ele chama implicitamente o método toString() do Vetor.
Ou seja, você precisa programar esse método pra fazer o que você deseja( no caso,
para imprimir a saída dos elementos( ex: Rafael e Paulo ).
Então, você precisa sobreescrever esse método lá na tua classe Vetor, para mostrar
todos os elementos dessa lista.