2016-07-11 5 views
0

노드로 변환 할 수 없습니다?INT 내가이 오류를 받고 있어요

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 + ""; 
} 
} 

나는 그것이 여기에 다른 클래스에서의 getItem()를 사용 하였다

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

게시물 getItem() 메소드. 'e

+0

getItem() 메소드가 노드가 아닌 Integer 값을 반환하는 것으로 보입니다. – Blobonat

+0

임에 오류가 발생했습니다 : 노드 p = prev.getItem(); – Xerox

답변

0

당신이 명확하게 볼 수 있듯이, Node#getItem 반환 int 값이 아닌 Node 값.

그래서 쓰려고하면 : Node p = prev.getItem(); 오류가 표시됩니다.

아마도 당신이 원하는 것은 무엇입니까 : Node p = prev.getLink();

+0

지금이 줄에서 java.lang.NullPointerException 인 또 다른 오류가 발생합니다. 'if (e Xerox

관련 문제