Bom pessoal, acredito que minha dúvida é simples para muitos user's aqui no fórum.
Minha duvida é a seguinte, tenho um metodo adiciona que vai recebendo os valores que eu for adicionando em uma lista e depois peço para esse meu metodo imprimir os elementos que adicionei.
Tentei cria-lo da seguinte maneira abaixo.
No seu for da classe Vetor, você está adicionando o Aluno que foi passado ao método 100x.
O que você tem que fazer então? Fazer um for para verificar a primeira posição do seu array vazia e então adicionar o Aluno.
publicclassVetor{privateAluno[]alunos=newAluno[100];publicvoidadiciona(Alunoaluno){for(inti=0;i<alunos.length;i++){if(this.alunos[i]==null){this.alunos[i]=aluno;System.out.println(this.alunos[i].getNome());break;//Se não tiver o break ele vai preencher as outras posições nulas também}}}}
jeovane.reges
Realmente deu certo em partes, no entanto, o resultado impresso estar da seguinte maneira.
[João,José,null,null,null,...]
Tentei fazer algumas alterações para não mostrar os null mas não deu muito certo.
Que que eu tenho que alterar ainda pra que apareça apenas os nomes?
publicclassVetor{privateAluno[]alunos=newAluno[100];publicvoidadiciona(Alunoaluno){for(inti=0;i<alunos.length;i++){if(this.alunos[i]==null){this.alunos[i]=aluno;System.out.println(this.alunos[i].getNome());break;//Se não tiver o break ele vai preencher as outras posições nulas também }}}}
Uma outra forma que eu estava pensando que poderia dar certo, era se no FOR eu passasse o tamanho da minha lista, tentei isso mas, não deu certo.
jeovane.reges
Fazendo alguns teste, o problema não estar no tamanho que é passado no FOR e sim no tamanho da lista que é 100.
S
strikezado
O problema amigo é que você tem um Array de 100 posições, e você só esta adicionando 2 nomes nesse array e mandando ele imprimir na tela toda a lista. Então o programa imprimi os 2 primeiros valores existentes e o resto ele mostra como NULL pois não existem + nomes adicionados. Caso você queira que não sejam apresentados os valores “NULL” você deve percorer sua lista e imprimir os valores até você encontrar uma possição NULL, quando você encontrar um Null você sai do loop.
Exemplo