Erro compilação

1 resposta
tpiardi

Ao tentar rodar o seguinte código:

public class Main {
    
    public static void main(String args[])  
    {  
        //Declara vetores de teste
            int ord1[], ord2[], ord3[], ord4[], ord5[], ord6[], ord7[], ord8[], ord9[], ord10[];
	    int inv1[], inv2[], inv3[], inv4[], inv5[], inv6[], inv7[], inv8[], inv9[], inv10[];
	    int ale1[], ale2[], ale3[], ale4[], ale5[], ale6[], ale7[], ale8[], ale9[], ale10[];
	    
	    //Reservar espaço de memória e definir o tamanho
	    ord1 = new int[19999];  ord2 = new int[39999];  ord3 = new int[59999]; 
	    ord4 = new int[79999];  ord5 = new int[99999];  ord6 = new int[119999];
	    ord7 = new int[139999]; ord8 = new int[159999]; ord9 = new int[179999];
	    ord10 = new int[199999];
	    inv1 = new int[19999];  inv2 = new int[39999];  inv3 = new int[59999]; 
	    inv4 = new int[79999];  inv5 = new int[99999];  inv6 = new int[119999];
	    inv7 = new int[139999]; inv8 = new int[159999]; inv9 = new int[179999];
	    inv10 = new int[199999];
	    ale1 = new int[19999];  ale2 = new int[39999];  ale3 = new int[59999]; 
	    ale4 = new int[79999];  ale5 = new int[99999];  ale6 = new int[119999];
	    ale7 = new int[139999]; ale8 = new int[159999]; ale9 = new int[179999];
	    ale10 = new int[199999];
        
	    for (int i = 0 ; i <= 19999 ; i++ ){
	        ord1[i] = i;
	        inv1[i]= 19999-i;
	        ale1[i]= (int) (Math.random() * 19999);
	    }
	  
        
       System.out.println("Ord1[1]="+ord1[1]+" ord1[10000]="+ord1[10000]+" ord1[19999]="+ord1[19999] );  
    }  
}

Eu obtenho o erro:
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 19999
at Main.main(Main.java:29)
Java Result: 1

O que estou fazendo de errado?

1 Resposta

ViniGodoy

Um vetor de tamanho 19999 tem os índices de 0 até 19998. Portanto, retire o = do <= do seu for e tudo dará certo.

Criado 23 de maio de 2011
Ultima resposta 23 de mai. de 2011
Respostas 1
Participantes 2