Java - 确定数组的位置变化

时间:2018-02-15 07:42:43

标签: java arrays count numbers position

我的代码中存在一个理解问题,但在一个非常具体的行中,在下面的代码中标记:

public class Main {

array

输出如下所示: 1 2 五 4

为什么数字[2]上的数字5而不是数字[1]?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

numbers[numbers[1]] = numbers.length + numbers[0];

相当于

numbers[2] = numbers.length + numbers[0];
                    4       +      1       == 5

numbers[1] == 2

答案 1 :(得分:0)

为了简单起见,让我们使用其他值:

numbers is [10,20,30,40]
At index -> 0  1  2  3
   values-> 10 20 30 40

number[at index 1] -> 20 (Here 1 is the index, 20 is the value)

number[number[1]] -> number[20] -> OutOfBoundsError as the array size is 4
number[number[0]] -> number[10] -> OutOfBoundsError as the array size is 4

在你的情况下:

numbers[numbers[1]] = number.length + numbers[0];
numbers[2] = 4 + 1
numbers[2] = 5