公共类I5Exc1a {
public static int[] reverse(int[] array)
{
int[] local = array;
int i = local.length;
int j = 0;
int[] arrayR = new int[i];
for (;i>-1; i--)
{
arrayR[j] = array[i];
j++;
}
return arrayR;
}
}
它应该接收一个数组并反转它。但是当我对它进行测试时,它给了我超出预期的效果。我尝试通过制作一个额外的阵列来修复它。我认为问题在于数组的长度没有正确地传递给i。有谁知道我怎么解决这个问题?
答案 0 :(得分:0)
你是从i = local.length
开始的,而且已经超出界限。
看看这个数组:
[0, 1, 2]
- 3个项目length = 3
,但如果你array[3]
没有这样的元素,则元素2
位于索引号2
,开始来自0
。在i--
循环之前for
。