2012-03-10 103 views
1

當我嘗試返回新的MyIterator()時出現錯誤,我不確定如何處理MyIterator構造函數(必須根據啓動節點參數定義迭代器)。任何想法如何解決這個問題?我知道如何實現下一個和hasNext。定義迭代器/迭代器構造函數時出錯?

我想我解決了它....謝謝!

+2

與它提供起始節點..? – Jeffrey 2012-03-10 20:41:58

回答

2

您正在爲您的迭代器定義一個構造函數,即MyIterator(MyListNode<E> start)。從您的代碼中,很明顯,MyListNode<E> start參數丟失。

我的意思是,在這條線:

return new MyIterator(); 

...你需要一個引用傳遞到列表中的第一個節點,這樣的事情:

return new MyIterator(firstNode); // replace firstNode with the actual value 
+0

我沒有在構造函數中編寫代碼....我不知道該如何處理它。我怎樣處理參數... – user1261445 2012-03-10 20:53:46

+0

當您調用'return new MyIterator();'時,您必須將參數作爲參數傳遞給列表的第一個節點,因爲這就是您定義構造函數的方式。如何處理迭代器中的第一個節點?這是一個不同的問題。提示:您需要將其存儲在屬性中,並確保相應地執行'hasNext'和'next'。 – 2012-03-10 20:57:46