妳的問題在於只進行了壹次元素交換,應該寫壹個循環,把指定位置的元素移到數組末尾,這樣再進行縮容就可以了。代碼不寫了,我來給妳說System.arraycopy的寫法。廢話不說,代碼說話:
public?class?DeleteElementinArry?{
public?static?void?main(String[]?args)?{
int[]?arr={2,6,8,4,5,8,6,5,4};
int[]?res?=?deleteElement(arr,3);
System.out.println(Arrays.toString(res));
}
public?static?int[]?deleteElement(int[]?arr1,int?index){
int[]?arr2?=?new?int[index];
int[]?arr3=new?int[arr1.length-index-1];
for?(int?i?=?0;?i?<?index;?i++)?{
arr2[i]=arr1[i];
}
for?(int?i?=?index+1;?i?<?arr1.length;?i++)?{
arr3[i-index-1]=arr1[i];
}
int?arr4[]=new?int[arr2.length+arr3.length]; //定義壹個長度為arr2加arr3長度的數組
System.arraycopy(arr2,0,arr4,0,arr2.length); //將數組arr2的元素復制到arr4中
System.arraycopy(arr3,0,arr4,arr2.length,arr3.length); //將數組arr3的元素復制到arr4中
return?arr4;
}