2011-05-06 14 views
0

널 포인터 예외 문제가 있습니다. 내가 시도하는만큼 나는 어떤 종류의 도움도 찾을 수 없다. 누군가 아이디어가 있다면 알려주세요.링크 된 목록 정렬

for (cursor = head; cursor != null; cursor = cursor.link) { 

    k = addScore(cursor.num); 
    for (int i = 1; i <= nodeLength(); i++) { 

     cursorAdd = head.link; 
     j = addScore(cursorAdd.num); 

     if (j > k) { 

      cursor.link = cursorAdd.link; 
      cursorAdd.link = cursor; 
     } 
     cursorAdd = cursorAdd.link; 
    } 
} 
+0

숙제 가정하니? 그렇지 않으면 Java와 함께 제공되는 매우 멋진'LinkedList'가 있기 때문에 : http://download.oracle.com/javase/6/docs/api/java/util/LinkedList.html –

+3

'cursorAdd'가'null'이라면 어떨까요? – MByD

+0

스택 추적을 살펴보면 어떤 행에 예외가 있는지 보여줍니다. 이 줄을보십시오. 어떤 변수가 사용됩니까? 그래도 도움이되지 않으면 stacktrace를 표시하고 코드에 해당 줄을 표시하십시오. –

답변

0

귀하의 목록에는 요소가 하나만 있다고 생각합니다. 따라서

head != null 
head.link == null; 
cursor = head; // cursor != null; cursor.link == null. 
cursorAdd = cursor.link; // == null 
addScore(cursorAdd.num) <-- NPE 
2

cursorAdd != null을 사용하기 전에 확인하지 마십시오.