public static void main(String[] args){
int[] arr = {2, 1, -7, 16, -2, 11};
for (int i = 5; i >= 1; i--){
arr[i] = arr[i] + 2*arr[i – 1];
}
}
此代码的结果等于:{2, 5, -5, 2, 30, 7}
我对公式如何实际产生这些结果感到困惑。代码从位置5开始,并向后检查数组中的每个数字,但是背后的实际数学运算是什么?我尝试将5代入i,但是当我尝试自己动脑筋时,得到的结果却不同。有人可以在这里帮助我吗?
答案 0 :(得分:1)
给定数组= {2,1,-7,16,-2,11};
代码迭代:
i=5:
array[5] = array[5] + 2*array[4]
array[5] = 11 + (2*-2)
array[5] = 11 - 4 = 7
i=4:
array[4] = array[4] + 2*array[3]
array[4] = -2 + 32 = 30
所有其他人类似地
我了解您是个初学者。顺便说一下,这是Java而不是Javascript。两者是不同的。我建议您研究数组或在IDE中使用调试器,以便了解代码的工作原理。