Tp_commit question 2

Programmation Avancée

Modérateur : Douin

Lionel C
Messages : 5
Inscription : 02 nov. 2017 11:48

Tp_commit question 2

Message par Lionel C » 01 déc. 2017 18:37

Bonsoir,

Dans le code ci-dessous, l'instruction "Iterator<Cotisant> it = g.getChildren().iterator(); " lève une NullPointerException lorsque j'exécute la méthode de test "testTroisContributeurs()". Je ne m'explique pas cette exception. Quelqu'un aurait-il une idée à ce sujet ?

Merci,
Lionel

Code : Tout sélectionner

public Boolean visite(GroupeDeContributeurs g){
    // // boolean res = false;// a compléter
    // // a compléter
    boolean res = true;
    Iterator<Cotisant> it = g.getChildren().iterator(); 
    
        if(it.hasNext()){
            while(it.hasNext() && res==true){
               Cotisant co = (Cotisant) it.next();
                if(co instanceof Contributeur) {
                    if(!co.accepter(this)){ res= false;}
                } else if(co instanceof GroupeDeContributeurs){
                    res = co.accepter(this);              
                }    
            } 
            
        } else {
            res = false;
        }      
    return res;
    }    



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

Re: Tp_commit question 2

Message par Douin » 01 déc. 2017 19:10

bonsoir,

Attention ce n'est pas objet si vous devez faire un test sur le noeud du composite ... imaginez que l'on ajoute une dizaine de nouveaux types de noeuds et votre programme devrait contenir au moins 10 tests (instanceof) de plus, laissez la liaison dynamique s'exécuter

Code : Tout sélectionner

 public Void visite(GroupeDeContributeurs g){
    for( Cotisant c : g)
      c.accepter(this);
    
Bonne fin de tp

Lionel C
Messages : 5
Inscription : 02 nov. 2017 11:48

Re: Tp_commit question 2

Message par Lionel C » 01 déc. 2017 19:34

Merci pour votre réponse,

Lionel

Répondre

Qui est en ligne ?

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