2017-12-01 2 views
0

비어 있습니다 작품)이 내게 NullPointerException 줄 것이다. \ 사용자 \ mehrz \의 AppData \ 로컬 \ 스레드의 주요내가 나무의 노드의 표현을위한 코드를 다음 한 노드 클래스

{... 
Node test2_2 = new Node(new Map<> (5, 2)); 
System.out.println("Object left child is: " + test2_2.getLeftChild().isEmpty()); 
} 

예외 MainPackage.Main.main에서 "주요"java.lang.NullPointerException이 (Main.java:35) C에서

NetBeans \ Cache \ 8.2 \ executor-snippets \ run.xml : 53 : Java가 반환되었습니다 : 1

Anny suggestions? 당신의 생성자에서

+0

그럼 당신이하려고 할 때, 그렇게 분명히 당신이 leftChild''에 아무것도 넣지 않은, 새로운 노드, 그리고 'null' 값에 대해 isEmpty()를 호출하면 NPE를 얻습니다. – markspace

+0

또한 노드 안에'Map'을 넣는 것에 대해 질문합니다. 그것은 틀린 것처럼 보인다. – markspace

+0

네, 이중 포인터 노드를 사용하여 트리의 분기를 나타냅니다. 나는 그것을 얻었다 :-) 당신을 감사하십시오. –

답변

0

, 당신은 대신하여 생성자를 적용 속성 노드에 null을 넣어 :

/** 
* Constructor Node. 
* Creates a node with it's leafs being null. 
* @param map 
*/ 
public Node(Map map){ 
    this(map, new Node(), new Node()); 
} 
+0

그는'Node'에 대해 인수가없는 ctor를 가지고 있지 않습니다. – markspace

+0

나는 이것을 미리 시도했다. 나는 생성자가 없으므로 Node() {}가 작동하지 않습니다. –