Java 如何在矩阵中求对象的长度?

Java 如何在矩阵中求对象的长度?,java,eclipse,Java,Eclipse,我创建了一个包含以下数据的矩阵: 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 根据这段代码,我已经确定了给定计划中对象的数量(7个obejcts.Object被认为是一组1) 公共静态void nrof对象(int[][]矩阵) { 整数计数=0; 对于(int i=0;i

我创建了一个包含以下数据的矩阵:

1 0 0 0 0 0 0 0
1 0 0 1 1 1 1 0
0 0 0 0 0 0 0 0
0 0 1 1 1 0 1 0
1 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
根据这段代码,我已经确定了给定计划中对象的数量(7个obejcts.Object被认为是一组1)

公共静态void nrof对象(int[][]矩阵)
{
整数计数=0;
对于(int i=0;i

如何输出每个对象的长度及其位置。例如,对象nr.1的长度为2,并且处于垂直位置。

在回答之前,您可能应该检查算法以计算对象的数量。关于您的定义:
对象被视为1的一组
这个矩阵如何`0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 \n 1 1 1 1 1 1 0 0 0 0 \n 0 0 0 0 0 0 0 0 0 0 0 1 \n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \n`如果有3个对象,您的算法将返回5。如果你能计算物体的数量,你就可以存储每个物体大小的列表(那么物体的数量就是列表的长度)@Thomas对不起,我没有正确地表达自己,我忘了加上物体之间至少有一行0’s的间隔,Z或正方形图案为1个对象,但在回答之前,请不要反转Z或反转L,您可能应该检查您的算法以计算对象的数量。关于您的定义:
对象被视为1的一组
这个矩阵如何`0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 \n 1 1 1 1 1 1 0 0 0 0 \n 0 0 0 0 0 0 0 0 0 0 0 1 \n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \n`如果有3个对象,您的算法将返回5。如果你能计算物体的数量,你就可以存储每个物体大小的列表(那么物体的数量就是列表的长度)@Thomas对不起,我没有正确地表达自己,我忘了加上物体之间至少有一行0’s的间隔,Z或正方形图案作为1个对象,但不反转Z或反转L
public static void nrofObjects(int[][] matrix)
{
    int count = 0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (matrix[i][j] == 1)
            {
                if ((i - 1 < 0 || matrix[i - 1][j] == 0) && (j - 1 < 0 || matrix[i][j - 1] == 0))
                {
                    count++;
                }
            }
        }
    }
    System.out.println("THERE ARE : " + count + " OBJECTS");
}