2012-02-22 91 views
1

我正在創建一個A Star搜索算法來解決8個拼圖板,並且我已經獲得了ArrayList中列出的所有Board對象類。我的問題是我需要在每個Board對象中運行方法,以便檢查他們是否已達到目標,獲取板信息和其他類似的功能。在ArrayList中運行對象的方法

問題是我經過幾個小時的互聯網搜索後才找到解決這個問題的方法,我嘗試使用迭代器來完成這個工作,看起來像正確的方向,但我無法得到它的工作但我對他們沒有任何經驗。

任何幫助將有很大的幫助。

public class Solve8Puzzle { 
     ArrayList startNode; 
     ArrayList nodes; 
     public Solve8Puzzle() { 
      startNode = new ArrayList(); 
      nodes = new ArrayList(); 
     } 
     public boolean checkGoalNodes() { 
      while(currently selected node has next) { 
       run current node goal check 
      } 
     } 
    } 
+1

什麼是存儲在'startNode'和'nodes'? – 2012-02-22 11:31:55

+0

這是一項家庭作業嗎?如果是這樣,請標記爲這樣。 – raveturned 2012-02-22 11:31:56

+0

你可以發佈你使用'Iterator'的代碼嗎?它編譯失敗了嗎? – hmjd 2012-02-22 11:31:57

回答

4
List<StartNode> startNode = new ArrayList<StartNode>(); 

....................... 


for (StarNode node : starNodes) { 
    // do what you want with the node 
} 

其他可能性

for (Iterator<StarNode> it = starNodes.iterator(); it.hasNext();) { 
    StarNode node = it.next(); 
    // do what you want with the node 
} 
+0

謝謝,如何使用和正確格式化ArrayList並使用迭代器 – Gerak 2012-02-22 11:53:04

相關問題