晚上好人,这里有新手。我需要重写我老师给我的代码段,以便为迷宫求解器创建动画,我的老师用ArrayList<int[]> nodes = new ArrayList<int[]>();
来存储走路(x / y坐标)。
坐标通过nodes.add(new int[]{x,y});
现在,当解算器必须在死胡同后向后“行走”时,必须从ArrayList中删除节点,并且我想检查坐标是否是节点。在这种情况下,我想知道最后添加的节点是否是我要去的坐标。
当我打印System.out.println(nodes.get(nodes.size()-1))
时,我得到类似的内容:[I@6cbb6079
我如何比较nodes.get(nodes.size()-1)
和int x = 5, y = 7;
?
答案 0 :(得分:1)
将节点(数组,因此使用[]
括号)的值与x
和y
值进行比较:
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");
答案 1 :(得分:0)
这是因为您正在打印阵列而打印出来的参考!尝试打印出索引。
例如:x为System.out.println(nodes.get(nodes.size()-1)[0])
,y为System.out.println(nodes.get(nodes.size()-1)[1])
。
答案 2 :(得分:0)
您将获得位置数组大小为-1的数组元素。 只需要从数组索引获取值,添加索引就可以获得结果 喜欢 -
nodes.get(nodes.size()-1)[0]
nodes.get(nodes.size()-1)[1]