2017-06-29 5 views
-1

Je suis en train de coder une double liste chaînée, dans chaque nœud il y a deux emplacements, un pour les informations et l'autre pour les données. Les deux entrées sont choisies par l'utilisateur dans la console.La fente d'information est fondamentalement une chaîne, pendant ce temps la fente de données doit être un entier ([informations, données] < - le noeud est fait comme ceci,) maintenant si j'ai plus d'un noeud la liste chaînée, je dois vérifier si le nouveau nœud i essaie d'entrer dans la liste a les mêmes informations et les mêmes données (son ok si deux noeuds ont les mêmes données ou mêmes informations)Double liste chaînée IFORMATION & DATA

public void nodiInformazioneguale(String information, int key) { 


    Node n = new Node(information, key, null, null); 


    if (n.getInformazione() == head.getNext().getInformazione()&&n.getData(== head.getNext().getData()) { 

     System.out.println("Insert another information && key"); 

    } 

} 
+0

Les questions qui demandent une aide au débogage ("pourquoi ce code ne fonctionne-t-il pas?") Doivent inclure le comportement souhaité, un problème ou une erreur spécifique et le code le plus court nécessaire pour le reproduire dans la question. Les questions sans énoncé de problème clair ne sont pas utiles aux autres lecteurs. Voir: Comment créer un [mcve]. En d'autres termes: quelle est votre question? – GhostCat

+0

Ah, dommage. Vous comparez les chaînes, les entiers, ... tous les objets en utilisant ** equals() **; pas ==. Quelqu'un s'il vous plaît fermer comme dup. – GhostCat

+0

Vous voulez lire https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – GhostCat

Répondre

0

Vous pouvez insérer votre nœud objet dans un ensemble, donc si vous remplacez les méthodes equals/hashcode dans la classe Node (en utilisant à la fois des données et des informations), vous pouvez vérifier que vous insérez un nouveau nœud, car vous ne pouvez pas avoir un objet dupliqué dans un ensemble.

+0

ty cela devrait fonctionner – Artyy

+0

Mais s'il vous plaît noter: c'est probablement "tricher" sur vos devoirs. Vous pourriez demander à vos instructeurs si vous êtes autorisé à ces autres classes. Vous voulez éviter que votre contribution soit rejetée plus tard à cause de telles choses. Probablement l'idée est que ** vous ** apprenez à écrire du code pour vous assurer que les nœuds sont uniques! – GhostCat