Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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

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 在二维数组中查找相邻元素并对其进行计数。_Java_Arrays_For Loop_Recursion_Multidimensional Array - Fatal编程技术网

Java 在二维数组中查找相邻元素并对其进行计数。

Java 在二维数组中查找相邻元素并对其进行计数。,java,arrays,for-loop,recursion,multidimensional-array,Java,Arrays,For Loop,Recursion,Multidimensional Array,我不知道该怎么做这部分作业,真的需要一些帮助。我需要在给定的2d数组中循环,找到与另一个数组相邻的所有相似元素,并进行计数 AA--B AA--B -AA-- ----C 所以计数应该是3,一个是B,一个是C,我只是需要知道从哪里开始 public static int howManyOrganisms(char[][] image){ int count = 0; for (int i = 0; i < image.length; i++) { for

我不知道该怎么做这部分作业,真的需要一些帮助。我需要在给定的2d数组中循环,找到与另一个数组相邻的所有相似元素,并进行计数

AA--B
AA--B
-AA--
----C
所以计数应该是3,一个是B,一个是C,我只是需要知道从哪里开始

public static int howManyOrganisms(char[][] image){
    int count = 0;
    for (int i = 0; i < image.length; i++) {
        for (int j = 0; j < image[i].length; j++) {
            if(image[i][j] != '-') {
                count++;

            }
            System.out.println();
        }
        return howManyOrganisms(image, count);
    }
}
publicstaticinthowmanyorganism(char[]]image){
整数计数=0;
对于(int i=0;i

我需要帮助找出如何跟踪彼此接触的元素总数(左、右、下、上)是另一个类似的元素

在每次迭代中,您可以使用i,j变量“导航”2d平面,并查看任何交互项是否相同。在每次迭代中,您将检查以下索引,以查看它们是否相同:

  • 图像[i-1][j](向上一行)
  • 图像[i+1][j](向下一行)
  • 图[i][j-1](左一)
  • 图[i][j+1](右一)

当然,对于所有这些语句,您首先应该检查+1/-1是否仍在矩阵的大小内,否则您最终将出现越界异常。

您的思路正确:1)目标:计数#/相邻元素。2) 定义一个函数。示例:
howManyOrganisms()
。3) 创建一些循环来检查每行中的每一列。4) 对于每个元素,检查上、下、右和左。如果与一个或多个相邻,则添加到计数。5) 优化(您是否需要检查第一行的“向上”或最后一列的“右”等)。似乎是classis的“洪水填充”算法修改。检查