有时,与比较值不同的值不会被设置为 null,即使它们确实包含不同的值。数组值的值永远不会改变,但数组结果的值会改变。
static int[][][] Results= new int[1000][30][3];
public static int[] Values= new int[3]; //is in a different class
...
for (int i = 0; i < Results.length; i++) {
if ((Results[i][0][0]) != (Input.Values[0])
&& (Results[i][0][1]) != (Input.Values[1])
&& (Results[i][0][2]) != (Input.Values[2])) {
Results[i] = null;
}else{
System.out.println(i+ " Results: " + Results[i][0][0] + " " +Results[i][0][1]+ " " + Results[i][0][2]+ " Values: " + Input.Values[0] +" "+ Input.Values[1]+ " "+ Input.Values[2]);
}
}
这是输出:
...
3 结果:27 19 34 值:27 17 36
4 结果:27 38 15 值:27 17 36
5 结果:27 38 15 值:27 17 36
6 结果:27 23 30 值:27 17 36
7 结果:27 23 30 值:27 17 36
8 个结果:27 46 7 个值:27 17 36
9 结果:27 39 14 值:27 17 36
...
例如,在 3 中,输出 27 与 27 进行比较,19 与 17 进行比较,34 与 36 进行比较。
我在这里没有看到什么?我浏览过其他帖子,但问题是由例如将包含整数的数组与整数进行比较引起的。我很确定这里不是这种情况..
感谢您的帮助!
SMILET
相关分类