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.
Aumentando espaço em array
M
2 Respostas
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.
1 like
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 );
Criado 3 de janeiro de 2021
Ultima resposta 4 de jan. de 2021
Respostas 2
Participantes 3
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo