Exception :ArrayOUtOfBoundsException
Résolu
ctere
-
ctere -
ctere -
Bonjour cela fait plusieurs jours que j'essais de résoudre ce problème mais en vain j'èspère que quelqu'un pourra m'aider
Je dois parcourir un tableau de caractères mais je me retrouve avec cette exception et je n'arrive pas à voir d'où cela peut provenir
et l'erreur est
Je dois parcourir un tableau de caractères mais je me retrouve avec cette exception et je n'arrive pas à voir d'où cela peut provenir
public static void afficher(String words) throws ArrayIndexOutOfBoundsException{
String str[];
str = words.split(" ");
String[] tab = new String[WebCrawler.getWordsResults().size()];
WebCrawler.getWordsResults().toArray(tab);
for (int i=0; i < words.length(); i++){
System.out.println(str[i]);
System.out.println(tab[i]);
}
}
public static void main(String[] args) throws IOException {
afficher("université de paris");
}
et l'erreur est
universitéCela affiche quand même l'execution mais avec l;exception
de
paris
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at searchEngine.SearchByKeywords.afficher(SearchByKeywords.java:76)
at searchEngine.SearchByKeywords.main(SearchByKeywords.java:98)
A voir également:
- Exception :ArrayOUtOfBoundsException
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Une exception non gérée s'est produite dans votre application - Forum Word
- A java exception has occurred - Forum Logiciels
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? ✓ - Forum Word
- Message D'erreur A Java has exception has occured ! - Forum Minecraft
2 réponses
Bonsoir,
J'ai réduit le code au minimum pour que tu comprennes mieux ton erreur :
J'ai réduit le code au minimum pour que tu comprennes mieux ton erreur :
public class Test { public static void main(String[] args) { String words = "Hello World !"; String[] str = words.split(" "); for (int i = 0; i < words.length(); i++) System.out.println(str[i]); } }
Bonsoir, merci de la réponse rapide, mais je ne comprends pas mieux avec ton exemple
parce que ça fait des heures que je suis dessus, et j'ai fais tellement de modification sans reussir à régler ce problème que je ne vois toujours pas
parce que ça fait des heures que je suis dessus, et j'ai fais tellement de modification sans reussir à régler ce problème que je ne vois toujours pas
Le problème c'est que
Dans l'exemple,
words.length()est le nombre de caractères dans la chaîne
wordsor toi ce que tu affiches ce ne sont pas les caractères, mais les mots
str[i]mais il y a moins de mots à afficher qu'il n'y a de caractères dans la chaîne.
Dans l'exemple,
words.length()vaut 13, mais il n'y a que 3 mots à afficher ("Hello", "World" et "!") donc forcément dès le quatrième mot ça plante...