java中怎么判断一个二维字符数组中某一行或一列的所有元素都相等

就比如a,a,a
b,c,f
d,a,s
怎么判断出第一行元素都相等?
我是这么写的
定义一个空的char型二维数组,提示输入元素值
if (number[0][0]==number[1][1]&&number[1][1]==number[2][2])
String output="equal"
但当我第一次输入number[0][0]='a'时,就打印了equal了
不知道为什么???

java判断二维字符数组中某一行或一列是否相等,主要是通过for循环语句来遍历下标相同的数据是否相同,如下代码:

package com.qiu.lin.he;

public class CeShi {
public static void main(String[] args) {
int[][] number = new int[][] { { 1, 1, 1 }, { 2, 3, 3 }, { 3, 4, 3 } };//二维数组初始化
int i, j;
boolean f = true, t = true;
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
if (number[i][j] != number[i][j + 1]) {
f = false;//设置标志位
}
}
if (f) {
System.out.println("第" + i + "行元素相等");
}
for (j = 0; j < 2; j++) {
if (number[j][i] != number[j + 1][i]) {
t = false;
}
}
if (t) {
System.out.println("第" + i + "列元素相等");
}
}

}
}

结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-21
给你一个比较笨 但是有效的办法 循环比较。先拿第一个与其他的一次比较,但后拿第二个与后面的依次比较(不需要跟第一个比较了),只要有不同 就break跳出。
第2个回答  2019-06-18
我也不太清楚,可以把整个程序给我。这里给你写一个
int
i,j;
boolean
f=true,t=true;
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
if(number[i][j]!=number[i][j+1]
f=false;
if(f)
System.out.println("第"+i+"行元素相等");
for(j=0;j<2;j++)
if(number[j][i]!=number[j+1][i]
t=false;
if(t)
System.out.println("第"+i+"列元素相等");
}
第3个回答  2009-11-21
我也不太清楚,可以把整个程序给我。这里给你写一个
int i,j;
boolean f=true,t=true;
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
if(number[i][j]!=number[i][j+1]
f=false;
if(f) System.out.println("第"+i+"行元素相等");
for(j=0;j<2;j++)
if(number[j][i]!=number[j+1][i]
t=false;
if(t) System.out.println("第"+i+"列元素相等");
}本回答被提问者采纳