Problema para adicionar um objeto em um array

2 respostas
T

Bom dia, galera.

Estou com um problema no meu codigo e nao consigo achar o erro

1) Crie um programa principal(Aluno) que possui dois metodos um pega o aluno de uma dada posicao do array e outro metodo adiciona um aluno no inicio do array foi criado tambem um metodo para imprimir e queria adicionar um objeto tipo Aluno1 com nome num vetor e depois imprimir foi criado tambem uma classe que trata o erro

so que quando eu executo aparece isso: [prova.Aluno1@42e816] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] [vazio] e o outro metodo da um erro na linha 21.

public class Aluno {
private Aluno1 [] aluno;
	private  int totalAlunos;
    int posicao;
	
	public Aluno(){
		aluno = new Aluno1[20];
		this.totalAlunos=20;
		posicao = 0;
	}
	public Aluno (int totalAluno){
	
		aluno =new Aluno1[totalAluno];
		this.totalAlunos=totalAluno;
		posicao = 0;
	}
		public void adiciona(int posicao, Aluno1 aluno)throws IllegalArgumentExceptin{
			if (!this.posicaoValida(posicao)){
				throw new IllegalArgumentExceptin("posicao invalida"); 
			}
			for(int i = this.totalAlunos-1;i >=posicao ;i--){
				this.aluno[i+1] = this.aluno[i];
			}
		this.aluno[posicao]=aluno;
		this.totalAlunos++;
		}
	private boolean posicaoValida(int posicao){
		return posicao>= 0 && posicao <= this.totalAlunos;
	
	}
	public void inicilLista(Aluno1 aluno)throws IllegalArgumentExceptin{
		
		if (!this.posicaoValida(posicao)){
			throw new IllegalArgumentExceptin("posicao invalida"); 
		}
				
		this.aluno[posicao]=aluno;
		this.totalAlunos++;	
	}
	public void showMe(){
		System.out.print("Exibindo: ");
		for (int i = 0; i < aluno.length; i++) {
			if(aluno[i]==null)
				System.out.print("[vazio] ");
			else
				System.out.print("["+aluno[i]+"] ");
		}
		System.out.println("");
	}
}

----------------------------------------------------------------------------------------------------------------

public class testeAluno {
public static void main(String[] args) throws IllegalArgumentExceptin {
		Aluno1 a1 = new Aluno1();
		Aluno1 a2 = new Aluno1();
		Aluno1 a3 = new Aluno1();

	 a1.setNome("thiago");
     a2.setNome("wilina"); 
     a3.setNome("maria");

     Aluno add =new Aluno();
	
     add.inicilLista(a1);
     add.inicilLista(a2);
     add.inicilLista(a3);
     
     add.showMe();
 		
      }
	}

--------------------------------------------------------------------------------------------------

public class Aluno1 {
private String nome;


public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
}

2 Respostas

drsmachado

Tópico duplicado.
Respondi essa questão ontem.

markinlelo

voce ta chamando o

add.inicilLista(x);

3 vezes, ai ele sempre vai jogar no inicio da lista

Criado 10 de maio de 2011
Ultima resposta 10 de mai. de 2011
Respostas 2
Participantes 3