Java 将一个二维阵列的坐标复制到另一个阵列

Java 将一个二维阵列的坐标复制到另一个阵列,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我有一个二维数组freeSpace[][],它表示x,y坐标。如果空间“不可用”,则我将其标记为77,其他1 我想把所有标记为77的元素放入它自己的数组中,使用那些特定的数组坐标。我认为它应该很简单,但我就是不能得到正确的语法 这是我的密码: for(int v=0;v

我有一个二维数组
freeSpace[][]
,它表示
x
y
坐标。如果空间“不可用”,则我将其标记为
77
,其他
1

我想把所有标记为
77
的元素放入它自己的数组中,使用那些特定的数组坐标。我认为它应该很简单,但我就是不能得到正确的语法

这是我的密码:

for(int v=0;v
我已经声明了
blockedCoordinates[][
数组


我的大多数尝试都会导致空数组。

复制数据时出错,原因如下:

//假设以下定义
int[][]blockedCoordination=新int[][]{};
对于(int v=0;v

希望这能帮到你。请随时告诉我这是否有助于您解决问题,并在本例的答案中向上投票…

对于每个非空闲空间,您完全声明了一个新的
blockedCoordinates
数组,覆盖了以前的任何内容。您可以给出一个网格的小示例(例如,3x3)然后你期望
blockedCoordinates
数组是什么样子的呢?另外,对于两种状态,一个
boolean
就足够了,或者更好的是,一个
enum
以后可以很容易地添加更多。我得到了一个新数组,我已经用blockedCoordinates.length测试过了,这似乎很有效(不确定它是否复制了坐标?试图找出如何测试它)。我认为它是有效的。我必须对blockedCoordinate[copyBlockedCoordinate]={h,v}行进行注释;因为它给了我一个类型错误。不确定这是怎么回事?它会把坐标位置复制到下一个矩阵吗?在这种情况下,它不会工作,我会看看我能不能为那一行找到一个更合适的语法。你说得对,我的错,在那个地方我忘了。在那一行添加属性。长度:)我现在也修复了它,确保检查它并将其标记为答案。我在第二部分中遇到了一个错误,“数组常量只能用于初始化错误”,我通过编辑以下行修复了该错误:blocksArray[copyBlockedCoordinate.length]=new int[]{h,v};这一切似乎都起作用了,至少比以前好,我们必须继续努力。但我会把它标记为“已回答”,在离开这个话题几天后,我又回到了它。我仍然有一个错误,尤其是在这条线上。除了评论之外,有人能给我解释一下发生了什么吗?=)//在新索引位置blocksArray[blocksArray.length]=newint[]{xPixels,yPixels}添加新数组;我得到一个错误:java.lang.ArrayIndexOutOfBoundsException:索引1超出长度1的界限。我现在正在研究。