これは、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