尝试比较2D标签阵列的多个连续元素

时间:2014-10-29 03:08:54

标签: multidimensional-array reference label traversal

我有一个Label的二维数组,每个标签都包含一个String版本的int。我试图遍历我的数组并检查每个元素是否包含相同的int。我是以错误的方式解决这个问题吗?

public boolean isPattern(Label[][] matirx) {     

        boolean pattern = false;

        for (int rPos = 0; rPos < rows; rPos++) {
            for (int cPos = 0; cPos < columns - 3; cPos++) {
                if (matrix[cPos][rPos].equals(matrix[cPos + 1][rPos]) 
                        && matrix[cPos][rPos].equals(matrix[cPos + 2][rPos])
                        && matrix[cPos][rPos].equals(matrix[cPos + 3][rPos])) {
                    pattern = true;
                }
            }
        }

当我将boolean打印到输出窗口时,无论如何都会得到false。所以我想我真正的问题是。我是否比较了每个Label的内容或每个索引的值,从而导致变量永远不会是true

1 个答案:

答案 0 :(得分:0)

所以我最终使用了这个解决方案:

for (int rPos = 0; rPos < rows - 3; rPos++) {
            for (int cPos = 0; cPos < columns; cPos++) {
                if (matrix[cPos][rPos].getText().equals(matrix[cPos][rPos + 1].getText())
                        && matrix[cPos][rPos].getText().equals(matrix[cPos][rPos + 2].getText())
                        && matrix[cPos][rPos].getText().equals(matrix[cPos][rPos + 3].getText())) {
                    pattern = true;

根据需要工作。如果有人遇到这个并且知道更好的方法,请分享。