java为什么不起作用?比较两个二维阵列中的元素
出于某种原因,它总是返回0?为什么?我比较了两个具有特定颜色的二维空间物体阵列。我已经确定我正在比较的两个2d阵列是不同的,但是这种方法不起作用
public int compareArray(Space[][] test1, Space[][] test2)
{
for(int row = 0;row< test1.length;row++)
{
for(int column = 0; column<test1.length;column++)
{
if(!((test1[row][column]).getColour()).equals(test2[row] [column].getColour()))
{
System.out.println("Found a non match");
return 1;
}
}
}
return 0;
}
我在这里称这个方法为evenNumber方法,它改变了test,使之不同于test2,这是针对我正在做的项目
public void testMethods()
{
Space[][] test = new Space[4][4];
Space[][] test2= new Space[4][4];
for(int i = 0; i < test.length; i++){
for(int j = 0; j < test.length; j++){
test[i][j] = new Space(spaceColour.Null);
test2[i][j] = new Space(spaceColour.Null);
}
}
test[0][1].setColour(spaceColour.White);
test[1][1].setColour(spaceColour.White);
test[2][1].setColour(spaceColour.Black);
test[2][2].setColour(spaceColour.Black);
test2[0][1].setColour(spaceColour.White);
test2[1][1].setColour(spaceColour.White);
test2[2][1].setColour(spaceColour.Black);
test2[2][2].setColour(spaceColour.Black);
System.out.println(compareArray(test, test2));
evenNumber(test);
drawBoard(test);
System.out.println("");
drawBoard(test2);
}
# 1 楼答案
我想你需要把第二个for循环从
到