Bonjour à tous.
Je suis étudiant en informatique et je rencontre des difficultés sur une partie d'un projet en Java (non noté je précise).
Je souhaiterais simplement arriver à finir et à comprendre le projet mais je bloque sur la partie suivante :
J'ai deux listes (ArrayList) : l'une contenant des variables (x,y,z) par exemple et une autre contenant des constantes (A,B,C) par exemple.
Mon objectif est de créer toutes les substitutions possibles entre ces deux listes. Une substitution est un ensemble de couples.
voici un exemple :
ArrayList de variables contenant : x,y
ArrayList de constantes contenant : A,B,C
Je veux obtenir les substitutions suivantes :
x,A y,A (ceci est une substitutions contenant deux couples x,A et y,A)
x,A y,B
x,A y,C
x,B, y,A
x,B y,B
x,B y,C
x,C y,A
x,C y,B
x,C y,C
x,A signifiant x est remplacé par A; même chose avec y
Voici le code que j'essaie de faire fonctionner mais sans succès :
Le problème c'est que ça me retourne avec l'exemple donné :
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 public void Generer() { Iterator iConst = lConst.iterator(); // Iterator sur ma liste de constantes Terme constante; // une constante while(iConst.hasNext())// Tant que j'ai des constantes { constante = (Terme)iConst.next(); // on récupère la prochaine constante de la liste for(int i=0;i<lVar.size();i++) // pour chaque variable { System.out.println("Couple : "+lVar.get(i)+","+constante); // j'ai le couple variable courante/constante } } }
x,A y,A
x,B y,B
x,C y,C
Et je ne vois pas comment répondre à mon problème. J'ai bien pensé à une méthode récursive mais là aussi je bloque.
Merci de m'aider. En espérant avoir été clair.
Partager