Você está na página 1de 1

import java.util.

Scanner;
public class Main
{

public static void main (String [] args){

Scanner console = new Scanner (System.in);


String [] alunos = new String [25];
int i;
for (i =0; i < 25; i++){
System.out.println (" digite o nome do aluno: ");
alunos [ i] = console.nextLine ( );
}

for (i =25; i < 30; i++){


System.out.println (" digite o nome do aluno: ");
alunos [ i] = console.nextLine ( );
}

}
}

Ao executar o codigo acima, obtemos o seguinte erro:


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index
25 out of bounds for length 25

O erro java.lang.ArrayIndexOutOfBoundsException ocorre quando o


programador tenta acessar o valor de um elemento em uma matriz em um
índice inválido. ArrayIndexOutOfBoundsException pode ocorrer devido a muitos
motivos, como quando tentamos acessar o valor de um elemento na matriz em
um índice negativo ou índice maior que o tamanho da matriz.

Em Java o tamanho de um array é estático, ou seja, a partir do momento que


você o inicializou, ele só vai comportar aquela quantidade de elementos. Ou
seja, ao tentar adicionar mais 5 alunos, após o preenchimento total do vetor,
causa um problema de overflow, pois o vetor não possui mais espaço livre.

Se você precisar de mais elementos, terá de criar um novo array, com mais
espaço, copiar os elementos do array antigo para o novo e adicionar os novos
elementos.
Ou podemos criar o programa utilizando um ArrayList, que possui tamanho
dinamico.
Como a classe ArrayList é um agrupamento dinâmico de objetos, isso quer
dizer que podemos adicionar ou retirar elementos de, por exemplo, uma lista,
sem que seja necessário criar uma nova, mantendo a original com um número
diferente dos objetos ali contidos.
Isso porque a classe ArrayList é independente do número de objetos contidos
nela. Podemos aumentar ou diminuir seu tamanho, apenas inserindo ou
retirando mais objetos.

Você também pode gostar