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");
}