[JAVA] Erro que não consigo detectar

hoodieAlan

What is folding?
Boas alguem me pode ajudar? quando corro o programa dá-me um erro nesta parte do codigo:

Código:
         PrintWriter pwf = new PrintWriter(f1);
        String[] array = new String[6];
        array = str.keysToArray(); // funçao da memoria associativa que devolve um array de strings
        String[] numeros = new String[6];
        for(int i=0; i<numeros.length; i++)
          numeros[i]=str.get(array[i]); // erro Aqui (função get, devolve o conteúdo de uma determinada chave)
        for(int i=0; i<array.length;i++){
          String nome = array[i];
          String numero= numeros[i];
          pwf.println(nome + numero);

Isto é uma implantação de uma memória associativa que passa as chaves para um array e o respectivo conteudo das chaves para outro array. no fim dessas passagens exporta para um ficheiro.
Não percebo qual o erro!

Quando corro o programa diz.. "java.lang.ArrayIndexOutOfBoundsException: 1
at Teste.main(Teste.java:35)" o 1 que aparece é o numero de chaves que está no array, se colocar la mais que uma chave ele devolve esse numero.
 
Código:
numeros[i]=str.get(array[i]);
Não estas a verificar se a posição "i" existe no array.
Nota que a variavel "array" tem um array attribuido por "str.keysToArray()" e não por "new String[6];"

Ou seja, a variavel "array" tem menos de 6 posições.
 
Back
Topo