Bonjour,

Bon le titre n'est pas très évocateur et j'en suis désolé...
En fait, j'ai un problème quelque peu étrange (du vrai X-Files ).
J'ai une matrice qui contient des lettres (p, m, M, D, d ...)or l'affichage ne correspond pas toujours aux valeurs dans le tableau. Je met une capture d'écran pour être plus clair .

Sur cette capture, on peut voir qu'aux coordonées {1,9}, la lettre est un "m" et dans la partie des variables, la lettre est "P" .
Je mets également le code de remplissage et d'affichage de la matrice:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
/**
         * Cette méthode initialise la matrice en numérotant lignes et colonnes et en remplissant chaque cellule par un "."
         */
	private void initialiserMatrice(){
		matrice[0][0] = " ";
		for (int i=1; i<largeur; i++){
			matrice[i][0] = Integer.toString(i);
			for (int j=1; j<longueur; j++){
				matrice[0][j] = Integer.toString(j);
				matrice[i][j] = ".";
			}
		}
 
	}
remplissage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
 
private void peuplementVille(){
		/*
		 * Boucle for permettant d'instancier tous les Citoyens dont le nombre est passé en paramètre
		 * 
		 * La boucle "do...while" génère les positions dans la matrice tant que la position n'est pas libre 
		 */
		for (int i=0; i<nbCitoyens;i++){
			int posLongueur, posLargeur;
			do {
				posLongueur = genererPosition(longueur);
				posLargeur = genererPosition(largeur);
			}
			while (!matrice[posLargeur][posLongueur].equals("."));
			ElementVille.creerCitoyen(posLongueur, posLargeur, "P");
			matrice[posLargeur][posLongueur] = "P";
		}
		/*
		 * Boucle for permettant d'instancier tous les Citoyens malades dont le nombre est passé en paramètre
		 * 
		 * La boucle "do...while" génère les positions dans la matrice tant que la position n'est pas libre 
		 */
		for (int i=0; i<nbMalades-nbMaladesDiff;i++){
			int posLongueur, posLargeur;
			do {
				posLongueur = genererPosition(longueur);
				posLargeur = genererPosition(largeur);
			}
			while (!matrice[posLargeur][posLongueur].equals("."));
			ElementVille.creerMalade(posLongueur, posLargeur, "m");
			matrice[posLargeur][posLongueur] = "m";
		}
		/*
		 * Boucle for permettant d'instancier tous les Citoyens malades difficiles dont le nombre est passé en paramètre
		 * 
		 * La boucle "do...while" génère les positions dans la matrice tant que la position n'est pas libre 
		 */
		for (int i=0;i<nbMaladesDiff;i++){
			int posLongueur, posLargeur;
			do {
				posLongueur = genererPosition(longueur);
				posLargeur = genererPosition(largeur);
			}
			while (!matrice[posLargeur][posLongueur].equals("."));
			ElementVille.creerMalade(posLongueur, posLargeur, "M");
			matrice[posLargeur][posLongueur] = "M";
		}
		/*
		 * Boucle for permettant d'instancier tous les médecins dont le nombre est passé en paramètre
		 * 
		 * La boucle "do...while" génère les positions dans la matrice tant que la position n'est pas libre 
		 */
		for (int i =0; i<nbMedecins; i++){
			int posLongueur, posLargeur;
			do {
				posLongueur = genererPosition(longueur);
				posLargeur = genererPosition(largeur);
			}
			while (!matrice[posLargeur][posLongueur].equals("."));
			ElementVille.creerMedecin(posLongueur, posLargeur, "D", stockVMedecins);
			matrice[posLargeur][posLongueur] = "D";
		}
 
		/*
		 * Boucle for permettant d'instancier tous les hopitaux dont le nombre est passé en paramètre
		 * 
		 * La boucle "do...while" génère les positions dans la matrice tant que la position n'est pas libre 
		 */
		for (int i=0; i<nbHopitaux;i++){
			int posLongueur, posLargeur;
			do {
				posLongueur = genererPosition(longueur);
				posLargeur = genererPosition(largeur);
			}
			while (!matrice[posLargeur][posLongueur].equals("."));
			ElementVille.creerHopital(posLongueur, posLargeur, "H");
			matrice[posLargeur][posLongueur] = "H";
		}
 
		/*
		 * Boucle for permettant d'instancier toutes les cliniques dont le nombre est passé en paramètre
		 * 
		 * La boucle "do...while" génère les positions dans la matrice tant que la position n'est pas libre 
		 */
		for (int i=0;i<nbCliniques;i++){
			int posLongueur, posLargeur;
			do {
				posLongueur = genererPosition(longueur);
				posLargeur = genererPosition(largeur);
			}
			while (!matrice[posLargeur][posLongueur].equals("."));
			ElementVille.creerClinique(posLongueur, posLargeur, "C", stockVCliniques);
			matrice[posLargeur][posLongueur] = "C";
		}
 
		/*
		 * Boucle for permettant d'instancier tous les centres de vaccination dont le nombre est passé en paramètre
		 * 
		 * La boucle "do...while" génère les positions dans la matrice tant que la position n'est pas libre 
		 */
		for (int i=0;i<nbCentreVac;i++){
			int posLongueur, posLargeur;
			do {
				posLongueur = genererPosition(longueur);
				posLargeur = genererPosition(largeur);
			}
			while (!matrice[posLargeur][posLongueur].equals("."));
			ElementVille.creerCentreVacc(posLongueur, posLargeur, "V", stockVCentreVacc);
			matrice[posLargeur][posLongueur] = "V";
		}
	}
et affichage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public void afficheVille(){
		for (int i=0;i<largeur;i++){
			for (int j=0;j<longueur;j++){
				System.out.print(matrice[i][j]+"\t");
			}
			System.out.println("\n");
		}
	}
Désolé pour la longueur du post
Si quelqu'un a une idée ...
Merci d'avance