2016-07-11 9 views
0

umgewandelt werden ich diesen Fehler:int kann nicht auf Knoten

incompatible types: int cannot be converted to Node

Warum erhalte ich diese Art von Fehler?

public void insertItem(int e) 
{ 
    if(e<head.getItem()) 
    { 
    addFirst(e); 
    } 
    else if(count==1) 
    { 
    addLast(e); 
    } 
    else 
    { 
    Node newNode = new Node(e); 
    Node prev = head; 
    Node p = prev.getItem(); 

    while(p!=null) 
    { 
     if(e<p.getItem()) 
     { 
      newNode.setLink(p); 
      prev.setLink(newNode); 
      p = p.getLink(); 
      prev = prev.getLink(); 
     } 
     } 
    } 
} 



public class Node { 
private Node link; 
private int item; 
public Node(int item, Node link) { 
    setLink(link); 
    setItem(item); 
} 
public Node(int item) { 
    this(item, null); 
} 
public Node() { 
    this(0, null); 
    } //empty node 
public void setLink(Node link) { 
    if (link != null) this.link = link; 
} 
public void setItem(int item) { 
    this.item = item; 
} 
public Node getLink() { 
    return link; 
} 
public int getItem() { 
    return item; 
} 
public String toString() { 
    return item + ""; 
} 
} 

Ich war mit getItem() von einer anderen Klasse hier ist sie:

public class Node 
{ 
    private Node link; 
    private int item; 

    public Node(int item, Node link) 
    { 
     setLink(link); 
     setItem(item); 
    } 

    public Node(int item) 
    { 
     this(item, null); 
    } 

    public Node() 
    { 
     this(0, null); 
    } 
//empty node public void setLink(Node link){ if(link != null) this.link = link; } public void setItem(int item) 
// {this.item = item;} public Node getLink(){return link;} public int getItem(){return item;} public String toString(){return item+ "";} } 
+1

Beitrag Sie getItem() -Methode. Sie verwenden: 'e

+0

Es scheint, dass Ihre Methode 'getItem()' einen Integer-Wert und keinen Knoten zurückgibt. – Blobonat

+0

Ich erhalte einen Fehler in dieser Zeile: Knoten p = prev.getItem(); – Xerox

Antwort

0

Wie man deutlich sehen kann, Node#getItem kehrt int Wert keine Node Wert.

Also, wenn Sie versuchen, schreiben: Node p = prev.getItem(); zeigt es Ihnen den Fehler.

Vielleicht, was Sie brauchen, ist: Node p = prev.getLink();

+0

jetzt bekomme ich einen weiteren Fehler, der java.lang.NullPointerException in dieser Zeile' if (e Xerox

Verwandte Themen