/**
* 删除指定的下标的元素,要求从删除的位置开始,之后的元素前移一位
*/
public class Demo1 {
public static void main(String[] args) {
int[] array =new int[]{1,2,3,4};
//调用方法
boolean remove = remove(array,2);
System.out.println(remove);
System.out.println(Arrays.toString(array));
}
/*
* 方法名 remove
* 方法返回值 boolean类型
* 方法参数 int[] 数组,int 数据(要求删除的元素的下标)
*
* */
public static boolean remove(int[] arr,int index){
//首先判断一下参数的合法性,提高程序的健壮性
if (arr.length == 0 || index < 0 || index > arr.length - 1){
System.out.println("输入参数不合法");
return false;
}
for (int i = index; i < arr.length - 1; i++) {//i < arr.length - 1 的目的是防止数组下标越界报错
arr[i] = arr[i + 1];
//实现指定元素的删除,被后一个元素的值覆盖,移动的原则,从被删除那个数的后面依次向前移动
}
arr[arr.length - 1] = 0;
//给最后一个元素赋值
return true;
}
}