2016-10-09 7 views
-1

ここでは初心者の方が安心です。ラビリンスソルバのアニメーションを作成するために先生が教えてくれたコードセグメントを書き直す必要があり、教師はwalked path(x/y座標)を格納するためにArrayList<int[]> nodes = new ArrayList<int[]>();を使用しました。値がArrayListの内部にあるかどうかを調べる<int[]>

ソルバは「散歩」に持っていたときに座標が後方行き止まりた後、ノードはArrayListのから除去されなければならないと私は座標がノードであるかどうかを確認したい、今すぐnodes.add(new int[]{x,y});

を経由して保存されています。この場合、最後に追加されたノードが私が行っている座標であるかどうかを知りたいです。

私はSystem.out.println(nodes.get(nodes.size()-1))を印刷するとき、私はこのような何かを得る:[[email protected]

はどのようにして、たとえばnodes.get(nodes.size()-1)int x = 5, y = 7;を比較することができますか?あなたがNodeクラスを持っていた場合

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

あなたはequals()そのための方法および使用を実現することができます。

+0

あなたは INT COXY [] = nodes.get(nodes.size() - 1)を使用することができます - はちょうどあなたが ようになるでしょうインデックスを追加し、配列のインデックスから値を取得する必要があります。 \t \t IF(COXY [0] == 5 && COXY [1] == 7){ \t \t \t \t \t} – cody123

答えて

1

xy値を持つノードからの値は、(それが配列であるので、[]ブラケットを使用)の比較しますこれは次のようになります。

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

これは、配列を印刷しているので印刷される参照です。索引で印刷してみてください。

たとえば、xはSystem.out.println(nodes.get(nodes.size()-1)[0])、yはSystem.out.println(nodes.get(nodes.size()-1)[1])です。

0

配列の配列サイズ-1で配列要素を取得しています。

nodes.get(nodes.size()-1)[0] 
nodes.get(nodes.size()-1)[1] 
関連する問題