/**
*java中删除下标之间的元素,百分之95都是含头不含尾。即{ )
*/
public class _04Exercises {
public static void main(String[] args) {
//请设计一个方法,将一个int数组arr中指定的两个下标之间的元素删除
int[] arr = new int[]{1,2,3,4,5,6};
int[] expurgate = expurgate(arr, 1, 3); // 调用方法
// 调用工具类中的toString方法打印结果为。删除后的效果 [1, 4, 5, 6]
System.out.println(java.util.Arrays.toString(expurgate));
}
/**
* 删除数组指定范围的元素
* @param arr 操作的数组
* @param a 删除开始位置(包含)
* @param b 删除结束位置(不包含结束)
*/
public static int[] expurgate(int[] arr, int a, int b) {
int[] newArr = new int[arr.length-(b-a)]; // 定义删除后新数组的长度。
// a角标之前的元素在新数组中赋值
for (int i = 0; i < a; i++) {
newArr[i]=arr[i];
}
// 为新数组newArr后半部分复制。
int index = a;
for (int i = b; i < arr.length; i++) {
newArr[index++]=arr[i];
}
return newArr; // 因为已经换成了新数组,必须将新数组返回
}
}