Bonsoir tout le monde,

J'ai un petit problème avec un code. Je voulais comparer deux groupes A et B , chaque groupe contient des classes et chaque classe possède des mots comme contenu. Je voulais avoir toutes les correspondances possibles :
1 : une classe de groupe A peut correspondre à une classe de groupe B
2 : une classe de groupe A peut correspondre à plusieurs classes de groupe B
3 : plusieurs classes de A correspondent à une classe de B
4 : l'inverse de 3:

je vous donne le code :

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
 
public static void  correspondanceRefSys (HashMap<String, Set<String>> G, Set<String> E ){
		/****************** Phase de comparaison Classe / concept******************/
	//boolean b = false;  
		boolean LabelDansListe;  
		Object[] [] O = new Object [2][2];  
		Set<String>  label =null;  
		ArrayList<Object> liste = new ArrayList<Object>();  
		String a= "";    
		System.out.println("                                                    ");  
		System.out.println("******** Comparaison Classe / Concept **************");  
		Iterator <Set<String>> i = G.values().iterator();  
 
		//tu creer un autre compteur 
 
		int cpt2=0; 
      while (i.hasNext()) 
		{  
			int cpt = 0;
 
			label = i.next();  
			LabelDansListe = false ;
 
			Iterator<String> j = E.iterator();  
			while(j.hasNext()){ 
 
				a =  j.next();  
 
 
				if(label.contains(a)&& LabelDansListe == false){  
					 LabelDansListe = true;
					cpt++; 
					liste.add(label);
 
				}  
 
			}
 
			if(cpt!=0){//trouver des correspondant dans cette référence E 
 
				O[cpt2][0] = E;//ajoute E au tableau de sortie 
				System.out.println(O[cpt2][0]);
				O[cpt2][1] = liste;//ainsi que sa liste 
				System.out.println(O[cpt2][1]);
				cpt2++;//incrémente le compteur pour la suite 
				System.out.println(cpt2);
 
			}
 
				}
 
 
 
	}
Mais j'ai eu une exception quand j'avais augmenter le nombre d'entrées .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
	at EvalClass.Utilitaire.correspondanceRefSys(Utilitaire.java:84)
	at EvalClass.Utilitaire.main(Utilitaire.java:155)
merci d'avance de m'aider .