2013-12-14 49 views
-4

我正在編寫一個程序作爲字典。在程序中,您可以添加和刪除單詞,並打印當前和刪除的單詞。我的問題是在我的刪除方法,顯然它正在刪除單詞正確,但它沒有使一個鏈接列表存儲這些被刪除的單詞,然後打印出來。因此,它只打印我刪除的最後一個單詞,而不是我刪除的所有單詞。這裏是方法:從鏈接列表中刪除

public void delete(String b) 
{ 
    WordMeaningNode current = this.list; 
    WordMeaningNode previous = null; 
    WordMeaningNode temp; 

    //While list is empty, return. 
    if (this.list == null) 
    { 
     return; 
    } 

    // While it is not empty.. 
    while (current != null) 
    { 
     if (current.word.getWord().equalsIgnoreCase(b)) 
     { 
      if (current == this.list) 
      { 

       this.list = this.list.next; 
      } 
      else 
      { 

       previous.next = current.next; 
      } 

      temp = current; 
      del = temp; 
      current.next = null; 
      return; 
     } 

     previous = current; 
     current = current.next; 
    } 
} 

有人可以看到我的錯誤是哪裏嗎?

回答

0

我不確定del是什麼,但假設它是您的刪除單詞鏈表中的一個節點,您所做的只是將已刪除的單詞分配給del = temp中的del。如果你想將它添加到你要創建一個新的節點,然後添加它例如德爾鏈表...

WordMeaningNode newDelNode; 
newDelNode = temp; 
del.next = temp; 

類似的東西...我不能完全確定,因爲它是一個有點難以閱讀你的代碼。