java数组如何输入
输入一维数组
使用 Scanner 类从控制台读取输入,适用于已知或未知数组长度的情况。
已知长度的情况:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 输入数组长度
int[] array = new int[n];
for (int i = 0; i < n; i++) {
array[i] = scanner.nextInt(); // 逐个输入数组元素
}
}
}
未知长度的情况(以空格分隔的字符串输入):
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] input = scanner.nextLine().split(" "); // 按空格分割输入字符串
int[] array = Arrays.stream(input).mapToInt(Integer::parseInt).toArray();
}
}
输入二维数组
适用于矩阵或表格数据的输入,需明确行数和列数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int rows = scanner.nextInt(); // 输入行数
int cols = scanner.nextInt(); // 输入列数
int[][] matrix = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = scanner.nextInt(); // 逐元素输入
}
}
}
}
使用命令行参数输入
通过 main 方法的 args 参数直接获取输入(需在运行时传递参数)。
public class Main {
public static void main(String[] args) {
int[] array = new int[args.length];
for (int i = 0; i < args.length; i++) {
array[i] = Integer.parseInt(args[i]); // 将字符串参数转为整数
}
}
}
运行命令示例:
java Main 1 2 3 4 5
从文件读取数组
使用 File 和 Scanner 读取文件中的数组数据。

import java.io.File;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(new File("input.txt"));
int n = scanner.nextInt();
int[] array = new int[n];
for (int i = 0; i < n; i++) {
array[i] = scanner.nextInt();
}
}
}
注意事项
- 输入验证:确保输入的数据类型与预期一致,避免
NumberFormatException。 - 资源释放:使用
Scanner后调用close()释放资源,或在try-with-resources中操作。 - 效率:大数据量时避免逐行读取,改用缓冲流(如
BufferedReader)。






