2017-07-16 1 views
-2

Quelqu'un pourrait m'aider à corriger cette erreur d'exception? Merci d'avance.Comment faire pour résoudre Exception dans le fil "principal" erreur java.lang.ArrayIndexOutOfBoundsException?

erreur:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 13 
    at HelloWorld.main(HelloWorld.java:13) 
erreur

pointant sur cette ligne:

String str2 = str + (toCharArray[toCharArray.length] + String.valueOf(i)); 

code Java:

import java.util.Calendar; 

import java.util.TimeZone; 

public class HelloWorld { 
    public static void main(String[] args) { 
    //System.out.println("Hello World"); 
     char[] toCharArray = String.valueOf((Calendar.getInstance(TimeZone.getTimeZone("utc")).getTimeInMillis() + 1825)^16842788).toCharArray(); 
     String str = ""; 
     //String str2 = ""; 
     int i = 0; 
     while (i < toCharArray.length) { 
      String str2 = str + (toCharArray[toCharArray.length] + String.valueOf(i)); 
      i++; 
      str = str2; 
     } 

     System.out.println("value of str:"); 
     System.out.println(str); 
    } 
} 
+0

Si vous modifiez la ligne d'erreur à Chaîne str2 = str + (toCharArray [toCharArray.length-1] + String.valueOf (i)); l'exception disparaîtra. Mais la réponse sera tous les chiffres (si c'est ce que vous voulez). – Pramod

Répondre

0

L'indice d'un tableau est basé 0. Vous essayez d'accéder à un élément qui n'existe pas. Si vous voulez obtenir le dernier élément, vous devriez le faire comme indiqué ci-dessous.

toCharArray [toCharArray.length - 1]

+0

Merci pour les réponses. J'ai essayé d'utiliser toCharArray [toCharArray.length - 1] mais toujours la même erreur! devrais-je déclarer le str2 comme chaîne à l'extérieur tout en boucle? – user1788736

+0

J'ai couru le code après avoir changé en CharArray [toCharArray.length - 1] et cela a bien fonctionné. Avez-vous recompilé après avoir changé le code? –

0

Je crois que l'index que vous voulez utiliser dans la boucle est i et non toCharArray. ToCharArray [toCharArray.length] lancera toujours une exception car la plage du tableau va de 0 à length-1.