Utilizando vetor para cirar uam lista de nomes

Pessoal, como posso resolver esse problema?

class Sala{
Aluno lista[];
int offset;
Sala(){
lista = new Aluno[10];
offset = 0;
}
void adicionar(Aluno a){
}
}
Seu objeto é escrever o método adicionar, de tal forma que sempre é possível adicionar
alunos no vetor lista sem precisar eliminar nenhum aluno já adicionado. Explique porque
sua solução será capaz de adicionar mais de 70 alunos na Sala? Dica: utilize o atributo
offset para indicar quantos alunos tem dentro da lista (ou seja, o vetor).

Pelo que eu entendi, você vai precisar redimensionar o vetor conforme o número de elementos.
Ou seja, quando as 10 posições estão ocupadas, você vai precisar aumentar o tamanho do vetor (para 20, por exemplo).
Para isso, sugiro que você crie um novo vetor com o novo tamanho, copie o já existente para dentro deste novo e atribua o novo ao atributo da classe.

Edit: você pode melhorar um pouco este algoritmo para quando alcançar um percentual x do tamanho total seu vetor ser automaticamente redimensionado.