You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java删除数组指定索引元素时如何从用户处获取数组输入

解决方案

你可以通过Scanner组件获取用户输入的整数数组,以下是修改后的完整可运行代码,核心是新增了先读取数组长度、再依次读取每个数组元素的逻辑:

import java.util.*;

public class Test11 {
    public static int[] removeTheElement(int[] arr, int index) {
        if (arr == null || index < 0 || index >= arr.length) {
            return arr;
        }
        int[] anotherArray = new int[arr.length - 1];

        for (int i = 0, k = 0; i < arr.length; i++) {

            if (i == index) {
                continue;
            }
            anotherArray[k++] = arr[i];
        }

        return anotherArray;
    }

    public static void main(String[] args) {
        Scanner adnan = new Scanner(System.in);
        // 新增用户输入数组逻辑
        System.out.println("请输入数组的长度:");
        int arrLength = adnan.nextInt();
        int[] arr = new int[arrLength];
        System.out.println("请依次输入"+arrLength+"个整数,每输入一个按回车确认:");
        for (int i = 0; i < arrLength; i++) {
            arr[i] = adnan.nextInt();
        }
        // 原有删除逻辑保留
        System.out.println("Original Array: " + Arrays.toString(arr));
        System.out.println("Index to be removed: ");
        int index = adnan.nextInt();
        arr = removeTheElement(arr, index);
        System.out.println("New Array: " + Arrays.toString(arr));
        adnan.close();
    }
}

如果你希望用户可以单行输入所有数组元素,也可以用以下逻辑替换上述数组输入部分:

System.out.println("请输入所有整数,用空格分隔,输入完成后按回车:");
adnan.nextLine(); // 消化掉之前输入遗留的换行符
String inputContent = adnan.nextLine();
// 按空格分割输入内容,兼容多个空格的情况
String[] numStrArr = inputContent.trim().split("\\s+");
int[] arr = new int[numStrArr.length];
for (int i = 0; i < numStrArr.length; i++) {
    arr[i] = Integer.parseInt(numStrArr[i]);
}

注意事项

  • 代码使用完Scanner后调用close()方法释放IO资源
  • 如果需要兼容用户输入非整数的异常场景,可以在外层增加try-catch捕获InputMismatchException、NumberFormatException做异常提示

内容的提问来源于stack exchange,提问作者adnanadel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:18:01