Иногда значения, которые не совпадают со значением по сравнению с, не устанавливаются в нуль, даже если они содержат разные значения. Значения значений массива никогда не изменяются, но значение результатов массива изменяется.
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.
Что я здесь не вижу? Я просмотрел другие посты, но там проблема была вызвана, например, сравнением массива, содержащего целые числа, с целым числом. Я почти уверен, что это не тот случай ..
Спасибо за вашу помощь!