2011-03-05 45 views
1

我正在嘗試編寫程序,並在我調用特定方法時繼續收到nullPointerException,這是什麼意思?nullPointerException我無法弄清楚Java通用類

+0

功課? 88888 – 2011-03-05 16:08:27

+0

這個問題和代碼看起來非常熟悉。我幾個小時前已經明確地看到了這一點,但現在找不到它......它在那裏得到了答覆。 – Boris 2011-03-05 16:09:41

+0

@stackoflow,嗯..你重新創建主題並刪除以前? (-1直到答案) – 2011-03-05 16:12:51

回答

1

我覺得應該是

private int size; //non static 

private static <S extends Comparable<S>> MyList<S> leftHalf(MyList<S> list) { 
    MyList<S> leftSide = new MyList<S>(); 
    int middle = list.size() /2; 
    for (int countToMiddle = 0; countToMiddle < middle; countToMiddle++) { 
     leftSide.addEnd(list.head()); 
    } 

    return leftSide; 
} 

如果沒有,請提供有關此方法應該做的更多的信息。

UPD: 建設問題

public MyList() { //takes no arguments 
    nodes = null; 
} 
public MyList(T... args) { //takes any number of arguments 
    this(); 
    for(T t : args){ 
     add(t); 
    } 
} 

UPD: 加數問題

public void addEnd(T item) { 
    if (nodes == null) { 
     nodes = new NodesList<T>(item, null); 
     return; 
    } 
    if (nodes.tail == null) { 
     nodes.tail = new NodesList<T>(item, null); 
    } else { 
     nodes.tail == new NodesList<T>(nodes.tail, item); 
    } 
} 
+0

該方法應該將列表拆分成兩個列表,第一個(leftSize)將包含從0到n/2的元素,在第二個,rightSide中,它將包含從n/2到n的元素。 不幸的是,我的實現似乎沒有工作,因爲,當我打電話'MyList list = new MyList (1L,2L,3L); // 3條目 list.print();',我得到錯誤找不到符號 符號:構造函數MyList(long,long,long) – 2011-03-05 17:11:34

+0

@stackoflow,我認爲這個方法應該做到你想要的),正確?或者,您可以刪除靜態修飾符和列表參數。 – 2011-03-05 17:15:42

+0

@stackoflow,關於構造函數:你應該用_vararg_創建構造函數來做這樣的事情。這是另一個問題) – 2011-03-05 17:17:33