これは、CircularLinkedListを使用することになっているJosephusクラスのaddメソッドです。クラスのいくつかの領域でnullポインター例外が発生していますが、これはすべてこのメソッドが原因です。誰かがこのコードを見ることから明らかな間違いを見ることができますか?
/** Inserts the specified element in the list at the
last position
@param dataItem the element to add
*/
// Complexity O(1)
@SuppressWarnings({ "unchecked" })
public void add(E dataItem) {
Node <E> node = new Node <E> (dataItem,null,null);
if (count == 0){ // list is empty
head = node.previous= node;
}
else {
head.previous.next = node;
node.previous = head.previous;
head.previous = node;
}
count++;
}
完全なコード: http: //pastebin.com/k4Hmbqmw