方式一:
创建一个新的数组,将删除元素后其余的元素存在在新的数组中。
public static void main(String[] args) {
// 创建一个数组
int[] arr = new int[] { 1, 2, 3, 4, 5 };
// 打印数组
System.out.println(Arrays.toString(arr));
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除第几个元素:");
int n = sc.nextInt(); //用来保存要删除数组的位置
// 定义一个新的数组用来存放删除后的数组,长度为原来数组-1
int[] arrNew = new int[arr.length - 1];
// 循环遍历删除第n个元素,并将剩余元素放入新数组
for (int i = 0, j = 0; i < arr.length; i++) {
if (i != (n - 1)) { //删除元素的索引为n-1
arrNew[j] = arr[i];
j++;
}
}
//最后打印新数组
System.out.println(Arrays.toString(arrNew));
}
方式二
将要删除的元素与最后一个元素交换位置,然后将数组的个位-1。
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};
System.out.println(Arrays.toString(arr));
Scanner sc =new Scanner(System.in);
System.out.println("请输入要删除第几个元素:");
int n = sc.nextInt();
//把最后一个元素替代指定的元素
arr[n-1] = arr[arr.length-1];
//数组缩容
arr = Arrays.copyOf(arr, arr.length-1);
System.out.println(Arrays.toString(arr));
}