2016-10-09 26 views
-1

晚上好人,總新手在這裏。我需要重寫老師給我的一段代碼段,以便爲迷宮求解器創建一個動畫,而我的老師使用ArrayList<int[]> nodes = new ArrayList<int[]>();來存儲走過的路徑(x/y座標)。檢查值是否在ArrayList中<int[]>

的座標通過nodes.add(new int[]{x,y});

現在,存儲時,解算器,以「走」倒退一死衚衕後,節點必須從ArrayList中刪除,我要檢查,如果一個座標是一個節點。在這種情況下,我想知道最後添加的節點是否是我要去的座標。

當我打印System.out.println(nodes.get(nodes.size()-1))我得到的是這樣的:[[email protected]

我如何比較nodes.get(nodes.size()-1)int x = 5, y = 7;例如?

+0

您可以使用 INT coXY [] = nodes.get(nodes.size() - 1); \t \t如果(coXY [0] == 5 && coXY [1] == 7){ \t \t \t \t } \t – cody123

回答

1

從節點(它是數組,所以使用[]括號中)與xy值比較值:

if (nodes.get(nodes.size()-1)[0] == x && nodes.get(nodes.size()-1)[1] == y) 
    System.out.println("equals"); 

如果你有Node類,你可以實現它和使用equals()方法它以這種方式:

if (nodes.get(nodes.size()-1).equals(new Node(x,y))) 
    System.out.println("equals"); 
0

這是您打印數組後打印出的參考!嘗試使用索引打印出來。

例如:System.out.println(nodes.get(nodes.size()-1)[0])爲x和System.out.println(nodes.get(nodes.size()-1)[1])爲y。

0

您正在獲取位置數組大小爲-1的數組元素。 只需要得到從數組的索引值,添加索引你會得到結果 像 -

nodes.get(nodes.size()-1)[0] 
nodes.get(nodes.size()-1)[1]