您不能添加到数组中。您首先必须创建一个更大的数组。
int[] newArray = new int[array.length + 1];
然后你必须复制数组的前半部分
for(int i = 0; i < midpoint; i++) {
newArray[i] = array[i];
}
然后将新的中点放入
newArray[midpoint] = 73;
然后复制另一半
for(int i = midpoint + 1; i < array.length; i++) {
newArray[i+1] = array[i];
}
然后 newArray 有了新的中点。
从技术上讲,最后三个步骤可以按任何顺序完成,但按该顺序执行它们更具可读性。现在你可以调用你的 display 方法或者用它做任何你想做的事情。
有一种实用方法称为arrayCopy
可以帮助移动数组元素。您可能会或可能不会被允许使用它。它的参数有点罗嗦,但在运行时比典型的 for 循环快一点,因为它利用了本机代码。
int[] newArray = new int[array.length + 1];
System.arrayCopy(array,0,newArray,0,midpoint);
newArray[midpoint] = 73;
System.arrayCopy(array,midpoint,newArray,midpoint+1,array.length - midpoint);
为了解释这些调用,arraycopy 使用:
System.arrayCopy(arrayFrom,
startPosInArrayFrom,
arrayTo,
startPosInArrayTo,
numElementsToCopy);