java如何从键盘输入一个数组

java如何从键盘输入一个数组

作者:Elara发布时间:2026-02-04阅读时长:0 分钟阅读次数:1

用户关注问题

Q
Java中如何读取用户输入的整数数组?

我想让程序接受用户键盘输入的多个整数,并存储到数组中,应该如何实现?

A

使用Scanner读取并存储整数数组

可以使用Scanner类从键盘读取输入。首先,创建Scanner对象;然后提示用户输入数组长度;接着通过循环读取每个整数并存储到数组中。示例代码如下:

import java.util.Scanner;

public class InputArray {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入数组长度: ");
        int length = scanner.nextInt();
        int[] arr = new int[length];
        System.out.println("请输入 " + length + " 个整数:");
        for (int i = 0; i < length; i++) {
            arr[i] = scanner.nextInt();
        }
        scanner.close();
        // 数组输入完成,可以使用arr数组
    }
}
Q
如何处理用户输入多个数字并转化为数组?

如果用户在一行中输入多个数字,怎么将这些数字分隔并放入数组中?

A

读取整行输入并使用分割函数

使用Scanner的nextLine()方法读取包含多个数字的整行字符串,随后调用String的split方法按空格或其他分隔符拆分,最后通过循环把字符串数组转换成数字数组。示例代码:

Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] parts = line.trim().split("\\s+");
int[] numbers = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
    numbers[i] = Integer.parseInt(parts[i]);
}
scanner.close();

这样能够灵活处理用户一次输入多个数字的情况。

Q
Java中输入数组时如何避免输入错误?

在从键盘输入数组时,如果用户输入了非整数字符,怎样避免程序抛出异常?

A

通过异常处理确保输入有效

使用try-catch结构捕获输入过程中可能出现的NumberFormatException或者InputMismatchException,通过循环反复提示用户重新输入,直到获得合法的数据。示例如下:

Scanner scanner = new Scanner(System.in);
int length = 0;
while (true) {
    System.out.print("请输入数组长度(整数):");
    if (scanner.hasNextInt()) {
        length = scanner.nextInt();
        break;
    } else {
        System.out.println("输入无效,请输入整数。");
        scanner.next();
    }
}
int[] arr = new int[length];
for (int i = 0; i < length; ) {
    System.out.print("请输入第 " + (i + 1) + " 个整数:");
    if (scanner.hasNextInt()) {
        arr[i] = scanner.nextInt();
        i++;
    } else {
        System.out.println("输入无效,请输入整数。");
        scanner.next();
    }
}
scanner.close();

这保证了数组元素的正确读取并避免程序异常。