GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Como pegar tamanho de um array ?[RESOLVIDO]

Pessoal, estou com o seguinte problema:

criei dois arrays assim:

int[] array1 = {0,1,2,3,4,5}; int[] array2 = new int[5];

dentro de uma instrução for, desse jeito abaixo, eu consigo fazer a manipulação certinha do array

for(int i = 0 ; i <= array1.length ; i++) { // Instruções }

Mas eu não consigo pegar o tamanho de um array e armazenar numa variável, por exemplo

int tamanho = array1.length; System.out.printf("Tamanho do array1 = %d",tamanho)

O programa compila direitinho mas quando é executado ocorre o seguinte problema:

[code]public class AppTest {
public static void main(String[] args) {

    int tamanho;       
    int[] array1 = {10,11,12,13,14,15,16,17,18,19};
    
    tamanho = array1.length;
    
    for(int i = 0 ; i <= array1.length ; i++)
    {
        System.out.printf("Current number: %d\n", array1[i]);
    }
    
    System.out.printf("Tamanho do array1 : %d",tamanho);
}

}[/code]

Resultado da execução:

[quote]Current number: 10
Current number: 11
Current number: 12
Current number: 13
Current number: 14
Current number: 15
Current number: 16
Current number: 17
Current number: 18
Current number: 19
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 10
at AppTest.main(AppTest.java:11)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)[/quote]

Nao sei porque dentro da instrução for funciona, mas atribuir a uma variavel de mesmo tipo nao funciona, por que isso?

amigo , o certo é fazer:

for(int i=0; i < array.length; i++){}

Veja, voce está usando <= …
com isso na ultima iteracao ele vai tentar acessar a posicao array[5] que nao existe! beleza?
um array de 5 posicoes tem indices 0,1,2,3,4 …

Att,

Renan

faca como o renan_ falou.

A excecao ArrayIndexOutOfBoundsException eh lancada toda vez que eh tentando acessar uma posicao do array que ultrapassa os limites do array.

[quote]Veja, voce está usando <= …
com isso na ultima iteracao ele vai tentar acessar a posicao array[5] que nao existe! beleza?
um array de 5 posicoes tem indices 0,1,2,3,4 …
[/quote]

Valeu, eu pensei que ele tava passando pelo for tranquilo e tava dando erro na última instrução. Por isso que ele tava acusando o estouro de limite e eu me perguntando que limite era esse e só concentrando na última instrução.

//