Bonjour,
voila, je suis face un bug aléatoire et que je ne comprend pas. J'ai pu remonter le problème jusqu'à un calcul d'indice qui va déterminer la taille d'un tableau. "parfois" il y a un bug et la taille du tableau est trop petite de 1.

Donc la colle est la suivante : comment (dans quel cas) les deux méthodes suivante, placée au même endroit du code, peuvent-elles donner un résultat ayant un écart de 1 pour la variable int nbSchoolsTot :

METHODE 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
		nbSchoolsTot = 0; 
		for(int j=0;j<tabCohorts.length;j++)
			nbSchoolsTot += tabCohorts[j].nbSchools;
METHODE 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
                //[TIM] JE NE COMPREND PAS POURQUOI, mais la methode cidessus pour calculer
                // nbSchoolsTot ne donne pas toujours la meme chose que celle du dessous, ce qui provoque une erreur..
                for(int jj=0;jj<tabCohorts.length;jj++)
	           for(int k=0;k<tabCohorts[jj].nbSchools;k++)
			{nbSchoolsTot++;}