Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查2D数组中的对角邻域并将当前值设置为等于邻域数_Java_Arrays_Multidimensional Array - Fatal编程技术网

Java 如何检查2D数组中的对角邻域并将当前值设置为等于邻域数

Java 如何检查2D数组中的对角邻域并将当前值设置为等于邻域数,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我试图遍历一个2D数组,计算所有等于0的对角邻域,然后将当前位置设置为等于邻域数。例如: 0 5 0 9 0 5 0 3 1 9 4 6 7 0 0 9 应改为 0 2 0 1 0 3 1 2 1 3 1 2 0 1 1 1 我正在使用以下代码(我捕获异常,因为所有参数号都会有索引越界异常): 因此,前两条线路正常工作,然后第三条线路有几个海外建筑运营管理局错误。我甚至不知道最后一行到底出了什么问题,我也不知道这是怎么回事 摘要 原文是: 0 5 0 9 0 5 0 3 1 9 4 6

我试图遍历一个2D数组,计算所有等于0的对角邻域,然后将当前位置设置为等于邻域数。例如:

0 5 0 9
0 5 0 3
1 9 4 6
7 0 0 9
应改为

0 2 0 1 
0 3 1 2 
1 3 1 2
0 1 1 1
我正在使用以下代码(我捕获异常,因为所有参数号都会有索引越界异常):

因此,前两条线路正常工作,然后第三条线路有几个海外建筑运营管理局错误。我甚至不知道最后一行到底出了什么问题,我也不知道这是怎么回事

摘要

原文是:

0 5 0 9
0 5 0 3
1 9 4 6
7 0 0 9
这应改为:

0 2 0 1 
0 3 1 2 
1 3 1 2
0 1 1 1
但我得到了:

0 2 0 1 
0 3 1 2 
1 2 1 1 
0 0 0 0
另一个例子是:

原件:

5 0 0 3 9 5 
0 0 9 5 3 0 
0 0 0 9 7 3 
7 0 5 0 9 5 
0 0 3 0 0 0 
9 5 0 3 7 0 
更新:

1 1 1 0 1 0 
1 2 2 1 2 0 
1 0 2 0 2 0 
2 1 4 1 4 1 
0 1 0 1 1 0 
0 2 0 1 1 0 
如有任何建议,将不胜感激

你从

0 5 0 9
0 5 0 3
1 9 4 6
7 0 0 9
从左上角开始遍历,同时修改矩阵。 所以在修改了2行之后,中间矩阵是

0 2 0 1 
0 3 1 2 
1 9 4 6
7 0 0 9
现在考虑
索引[2][1]
处的元素。在原始矩阵中,它有
3个零邻域
,但该矩阵只有
2个
,因此预期和获得的输出存在差异


制作一个单独的矩阵来存储修改后的值。

实际问题是什么?现在添加它。很抱歉,为什么最后一行有1?在任何对角线上都没有零。或者是你把最上面的一行当作是最后一行之后的下一行?好像它是圆形的?在这种情况下,你需要检查边,并在有边的地方,改变子索引,根据运河,我的打字错误已被修复。应该是的,但我错过了两个0。知道了。这就解决了问题。非常感谢你
0 5 0 9
0 5 0 3
1 9 4 6
7 0 0 9
0 2 0 1 
0 3 1 2 
1 9 4 6
7 0 0 9