Eu estou com um problema onde eu tenho os seguintes vetores: alunos[], turmas[]. O vetor alunos recebe 5 alunos e se chegar um 6° aluno, se deve crescer mais um espaço no vetor turma[]. O problema é que eu nem sei por onde começar… agradeceria muito se alguém pudesse me ajudar.
Você pode criar um método para expandir seus arrays. Pode ser mais eficiente expandir em uma quantidade maior que 1, mas você pode deixar isso como parâmetro. Esse método pode receber o array original como parâmetro e retornar um novo array expandido. Algo como (exemplo com array de String):
public String[] expandirArray(String[] arrayOriginal, int quantidadeParaExpandir){
if (quantidadeParaExpandir >= 0){
String[] novoArray = new String[arrayOriginal.length + quantidadeParaExpandir];
for (int i=0; i < arrayOriginal.length; i++){
novoArray[i] = arrayOriginal[i];
}
return novoArray;
} else {
// se a quantidade para expandir for negativa,
// você pode fazer alguma outra coisa,
// como disparar uma exceção
return null;
}
}
PS: estou supondo que você não pode usar estruturas da classe List (LinkedList/ArrayLisT), que fazem esse tipo de expansão automaticamente.
Abraço.
A cópia pode ser feita usando o método arraycopy
da classe System
tbm, mas como é tarefa, acredito que o professor esteja esperando a cópia elemento a elemento como vc fez @TerraSkilll
System.arraycopy( arrayOriginal, 0, novoArray, 0, arrayOriginal.length );
1 curtida