猿问

为什么我在两个整数值之间的比较不起作用?

有时,与比较值不同的值不会被设置为 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 进行比较。


我在这里没有看到什么?我浏览过其他帖子,但问题是由例如将包含整数的数组与整数进行比较引起的。我很确定这里不是这种情况..


感谢您的帮助!


神不在的星期二
浏览 110回答 1
1回答

SMILET

问题出在你的 if 语句上。将您的条件更改为||和 not&nbsp;&&。27 是所有问题的通用数字。他们都&&必须有所不同。
随时随地看视频慕课网APP

相关分类

Java
我要回答