Dúvida sobre array de objetos

Estou iniciando com os estudos em programação. Meu professor passou um programa de cadastro de alunos em uma faculdade. Os dados são nome,idade,sexo e CPF. O CPF é o principal atributo, visto que ele é único. Haverá um menu onde é possível cadastrar um aluno novo ou também pesquisar relatório de um aluno, através do CPF. Meu professor exige trabalharmos com Arrays, não permite usar ArrayList. A dúvida é: posso fazer um array de objetos do tipo Aluno com bastante posições (+ou- 100), e inicialmente as posições serão preenchidas com alunos “em branco” sem nenhum atributo e quando eu quiser cadastrar um novo será substituído em uma posição do vetor?

Pode. Quando você cria o array, todas as posições vão ser inicializadas como null. Para o programa ficar mais completo, você pode checar sempre que um aluno for inserido para ver se o array está cheio. Em caso positivo, você cria um novo array com o dobro do tamanho e copia os dados do array velho para o novo.

Fiz um exemplo básico, seria algo assim?

		int ultimaPosicao = 0;
		int tamanhoLista = 100;
		Aluno[] alunos = new Aluno[100];
		
		//pode criar um for para ir gerando novos alunos
		Aluno aluno = new Aluno();
		//seta valores em aluno
		
		if(alunos.length == tamanhoLista){
			Bloco[] novoArray = new Bloco[tamanhoLista * 2];
			System.arraycopy(alunos, 0, novoArray, 0, tamanhoLista);
			tamanhoLista = tamanhoLista * 2;
			//após criar a nova lista você irá inserir no novo array
			//faça uma regra com booleano para que utilize esta nova lista a partir da sua criação
		}else{
			alunos[ultimaPosicao] = aluno;
			ultimaPosicao++;
		}

Tire como base esse exemplo e customize conforme a sua necessidade.

1 curtida

Valeu por ajudar, achei uma outra solução similar

1 curtida