我正在尝试使用$ redis-cli LPUSH key1 value1 value2 value3
(integer) 3
$ redis-cli LPUSH key2 value1 value3 value4
(integer) 3
$ redis-cli --eval ldiff.lua key1 key2
1) "value2"
方法对整数数组进行排序。调用此方法后,数组元素变为0。
以下是我的代码
Arrays.sort()
输入:
5 3 3 1 1 1
输出:
注意:1 1 1
注意:0 0 0
总和:0
总和:0
总和:0
否
我的代码出了什么问题?
答案 0 :(得分:2)
你的数组不只有3个元素,因为这行很长:
int notes[] = new int[20];
如果要查看问题的原因,请添加以下行:
System.out.println(Arrays.toString(notes));
在你第一次之前:
System.out.println("note:"+notes[0]+" "+notes[1]+" "+notes[2]);
行,您将看到整个数组:
[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
这就是为什么你在排序后的前3个地方看到0
的原因,因为该数组在0
之后还包含很多1
个。
因此,sort
方法具有预期的行为。
答案 1 :(得分:1)
这是因为声明一个更大的数组并在数组中插入小于数组长度的值,所以在数组的其余部分将存储0,因此当u进行排序和打印时,所有的0都会出现在开头。 >