Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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 - Fatal编程技术网

比较二维数组中行或列的元素(Java)

比较二维数组中行或列的元素(Java),java,arrays,Java,Arrays,我有一个字符串[][]字段。例如,它可能看起来像: [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] [xy] 行数和列数相等,但每次的行数可能不同。我需要检查整行或整列元素的值是否相等。 我为3x3字段写了一些错误代码来检查行,如下所示: public boolean checkHorizontal(St

我有一个
字符串[][]字段
。例如,它可能看起来像:

[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
[xy] [xy] [xy] [xy] [xy]
行数和列数相等,但每次的行数可能不同。我需要检查整行或整列元素的值是否相等。 我为3x3
字段
写了一些错误代码来检查行,如下所示:

public boolean checkHorizontal(String[][] field) {
        boolean value = false;
        int x = 0;
        for (int i = 0; i < field.length; i++) {
            if (field[i][x].equals(field[i][x + 1]) &&
                    field[i][x + 1].equals(field[i][x + 2]) &&
                    !field[i][x].equals("[something]")) {
                value = true;
            }
        }
        return value;
    }
public boolean checkHorizontal(字符串[][]字段){
布尔值=假;
int x=0;
for(int i=0;i
但这不是检查行的通用方法,因为我们可能有不同大小的矩阵(需要添加
x+3
x+4
x+5
,等等) 是否有任何有效的方法来比较2D数组的整行/整列?

检查所有行:

for(int i = 0; i < field.length; i++){
    for(int j = 1; j < field[i].length; j++){
        if(!field[i][0].equals(field[i][j])){
            return false;
        }
    }
}

return true;
for(int i=0;i
要检查所有行:

for(int i = 0; i < field.length; i++){
    for(int j = 1; j < field[i].length; j++){
        if(!field[i][0].equals(field[i][j])){
            return false;
        }
    }
}

return true;
for(int i=0;i
事实上,@quidproquo的答案检查所有字段是否相等,但很容易将解决方案调整为一行或一列:

public boolean isEqual(String[][] data, int rowColumn, boolean row){
    int i = 1;
    int limit = (row) ? data[0].length : data.length;
    while(i<limit){
         if ((row) ? !data[rowColumn][i].equals(data[rowColumn][0])
             : !data[i][rowColumn].equals(data[0][rowColumn]))
             return false;
    }
    return true;
}
public boolean相等(字符串[][]数据,整数行列,布尔行){
int i=1;
int limit=(行)?数据[0]。长度:data.length;

虽然(i的@quidproquo的答案实际上检查所有字段是否相等,但很容易将解决方案调整为一行或一列:

public boolean isEqual(String[][] data, int rowColumn, boolean row){
    int i = 1;
    int limit = (row) ? data[0].length : data.length;
    while(i<limit){
         if ((row) ? !data[rowColumn][i].equals(data[rowColumn][0])
             : !data[i][rowColumn].equals(data[0][rowColumn]))
             return false;
    }
    return true;
}
public boolean相等(字符串[][]数据,整数行列,布尔行){
int i=1;
int limit=(行)?数据[0]。长度:data.length;

while(I)当遍历2D数组及其内容时,需要使用两个for循环。当遍历2D数组及其内容时,需要使用两个for循环。请回答!我只会注意要比较的对象是否为字符串,因为尽管a=“a”和b=“a”,但a==b将为false.Excelente答案!我只会注意要比较的对象是否为字符串,因为尽管a=“a”和b=“a”,但a==b将为false。