tp_commit - q2.1

Programmation Avancée

Modérateur : Douin

a.tortevois
Messages : 58
Inscription : 05 oct. 2018 16:00
Contact :

tp_commit - q2.1

Message par a.tortevois » 11 nov. 2018 16:06

Bonjour,
J'essaye de remplir la class CompositeValide
Pour remplir la méthode

Code : Tout sélectionner

public Boolean visite(GroupeDeContributeurs g)
je voulais utiliser un foreach tel quel préconiser : http://deptmedia.cnam.fr/phpBB2/viewtop ... 923#p36923

Mais j'ai l'impression qu'il manque un import de cotisant.java pour faire ça ?
Est-ce normal ? Pouvons nous ajouter des import ?

Merci par avance

a.tortevois
Messages : 58
Inscription : 05 oct. 2018 16:00
Contact :

Re: tp_commit - q2.1

Message par a.tortevois » 11 nov. 2018 19:31

Re, j'ai une question supplémentaire :
Le visiteur SansDoublon vérifie que les noms des groupes et des contributeurs sont différents.
Est ce que cela signifie qu'il faut que tous les noms des contributeurs quel que soient leur niveau dans la hiérarchie doivent être différents (dans le groupe principal ou dans un sous groupe) ?

Par exemple :

Code : Tout sélectionner

g0 :
 +--- c1
 +--- c2
 +--- g1
       +--- c1
       +--- c3
Est-ce que ça renverrais bien false c1 étant présent deux fois ?

Dans ce cas peut-on utiliser déporter le TreeSet et le flag en variable "globale" dans la classe et non dans la méthode ?

Merci par avance pour ces éclaircissements

Douin
Messages : 366
Inscription : 18 mars 2009 15:46

Re: tp_commit - q2.1

Message par Douin » 12 nov. 2018 12:14

Bonjour
Est ce que cela signifie qu'il faut que tous les noms des contributeurs quel que soient leur niveau dans la hiérarchie doivent être différents (dans le groupe principal ou dans un sous groupe) ?
Oui
Dans ce cas peut-on utiliser déporter le TreeSet et le flag en variable "globale" dans la classe et non dans la méthode ?
Variable globale ?, ce n'est pas une bonne idée...

Bonne fin de SansDoublon

a.tortevois
Messages : 58
Inscription : 05 oct. 2018 16:00
Contact :

Re: tp_commit - q2.1

Message par a.tortevois » 12 nov. 2018 13:39

Merci pour votre réponse.

Je pense qu'il faut donc creuser getChildren() ? Pourtant j'ai réussi a passé JNEWS sur la question 1...
Dans mon code actuel ma méthode renvoie suivant l'exemple ci dessus [ c1,c2,g1 ], est ce qu'il ne faudrait pas qu'elle renvoie plutôt [ c1,c2,g1,c1,c3 ] ?

Sinon, je ne vois pas comment faire car "la visite" de g1 créer une nouvelle TreeSet et dont le retour est un booléen :(

Merci par avance

Ps : Pourquoi la variable globale n'est pas une bonne idée ?

Douin
Messages : 366
Inscription : 18 mars 2009 15:46

Re: tp_commit - q2.1

Message par Douin » 12 nov. 2018 14:37

Bonjour,

Votre "TreeSet" est une donnée d'instance du visiteur, que viendrait faire une variable globale, qui s'éloignerait dans notre cas de la POO

servez vous du résultat booléen de l'ajout dans un ensemble (cf. le tp5)

Bon ensemble

a.tortevois
Messages : 58
Inscription : 05 oct. 2018 16:00
Contact :

Re: tp_commit - q2.1

Message par a.tortevois » 13 nov. 2018 10:22

Bonjour,
Je m'étais mal exprimé, par "globale" je voulais dire que le TreeSet soit une variable de l'instance SansDoublon et non local aux méthodes visite ..
J'ai finalement passé les tests sans erreurs.
Merci pour votre aide !

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité