我的代码中存在一个理解问题,但在一个非常具体的行中,在下面的代码中标记:
public class Main {
array
输出如下所示: 1 2 五 4
为什么数字[2]上的数字5而不是数字[1]?
提前感谢您的帮助。
答案 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