2017-10-09 6 views
1
public class Nodelmpl implements Node { 

    private int data; 
    private Node next; 

    public Nodelmpl(int data) { 
    this.data = data; 
    } 


    @Override 
    public int getId() { 
    // TODO Auto-generated method stub 
    return data; 
    } 

    @Override 
    public boolean equals(Node n) { 
    // TODO Auto-generated method stub 
    return this.data == n.data.id(); 
    } 


    public Node getNext() { 
    return next; 
    } 


} 

J'essaie de terminer ces deux méthodes, mais je ne comprends pas comment faire la méthode equals et je ne sais pas si je fais la commande id correctement et si je configure les bons constructeurs.Interface Node class

Plus explication:

Je suis en train de faire NodeImpl.java et cette mise en œuvre prend en considération les caractéristiques de l'interface. Ensuite, je termine ces deux méthodes pas d'autres nouvelles méthodes donc Node a seulement deux méthodes publiques - un pour obtenir le nœud , et un qui remplace la méthode égale de l'objet. Cette méthode devrait vérifier si deux nœuds partagent un identifiant. Si c'est le cas, renvoyez true, sinon, renvoyez false. Il n'y a pas de méthode setId.

BUT: Je dois ajouter les constructeurs suffisants et terminer les méthodes dans la mise en œuvre

+0

Ne pas comparer avec int 'equals', utilisez' '==. Vous devriez également essayer d'expliquer plus clairement ce que vous essayez de faire et quel est le problème. – Guy

+0

D'accord, merci. J'ai écrit plus –

Répondre

0

Si la seule façon de régler le data est par constructeur, vous devez créer un qui reçoit un paramètre int

public Nodelmpl(int data) { 
    this.data = data; 
} 

Deux autres commentaires:

data et next doivent être private et accessible via getters (ou autre m ethods)

Les types primitifs doivent être comparés par ==, et non par equals. La méthode equals devrait ressembler à

public boolean equals(Node n) { 
    return this.data == n.id(); 
} 
+0

n.data.id -> erreur pour les égaux dit que les données ne peuvent pas être résolues n'est pas un champ? –

+0

@et supprime le 'data', il devrait être' n.id() ' – Guy

+0

Oh nvm. Je n'ai pas vu l'édition. Merci –