java中如何输入数组
输入数组的方法
在Java中,可以通过多种方式输入数组,具体取决于输入源(如用户输入、文件读取等)和数组类型(如基本类型数组、对象数组)。以下是几种常见的方法:
使用Scanner类从控制台输入
对于基本类型数组(如int[]),可以通过Scanner类逐元素输入:
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("输入数组长度: ");
int n = scanner.nextInt();
int[] arr = new int[n];
System.out.println("输入数组元素:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
使用BufferedReader从控制台输入
对于更高效的输入(尤其是大规模数据),可以使用BufferedReader:
import java.io.BufferedReader;
import java.io.InputStreamReader;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入数组长度: ");
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
System.out.println("输入数组元素(空格分隔):");
String[] input = br.readLine().split(" ");
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(input[i]);
}
从文件读取数组
若需从文件输入,可通过Scanner或BufferedReader读取文件内容:
import java.io.File;
import java.util.Scanner;
Scanner fileScanner = new Scanner(new File("input.txt"));
int n = fileScanner.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = fileScanner.nextInt();
}
动态初始化数组
对于已知元素的数组,可直接初始化:
int[] arr = {1, 2, 3, 4, 5};
使用Java 8的Stream API
对于字符串输入,可通过Stream快速转换为数组:

import java.util.Arrays;
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.println("输入空格分隔的数组元素:");
int[] arr = Arrays.stream(scanner.nextLine().split(" "))
.mapToInt(Integer::parseInt)
.toArray();
注意事项
- 输入时需确保数据类型匹配,避免
NumberFormatException。 - 对于多维数组,需嵌套循环或分步处理每一维。
- 文件输入时需处理
FileNotFoundException异常。






