java中如何输入数组
在Java中输入数组的方法
使用Scanner类从控制台输入
通过java.util.Scanner类可以方便地从控制台读取用户输入的数组数据。以下是一个完整的示例代码:
import java.util.Scanner;
public class ArrayInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度: ");
int length = scanner.nextInt();
int[] array = new int[length];
System.out.println("请输入数组元素,用空格分隔:");
for (int i = 0; i < length; i++) {
array[i] = scanner.nextInt();
}
System.out.println("输入的数组为:");
for (int num : array) {
System.out.print(num + " ");
}
scanner.close();
}
}
使用BufferedReader类输入
对于更高效的输入操作,可以使用BufferedReader类:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderArrayInput {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入数组长度: ");
int length = Integer.parseInt(reader.readLine());
int[] array = new int[length];
System.out.println("请输入数组元素,用空格分隔:");
String[] input = reader.readLine().split(" ");
for (int i = 0; i < length; i++) {
array[i] = Integer.parseInt(input[i]);
}
System.out.println("输入的数组为:");
for (int num : array) {
System.out.print(num + " ");
}
}
}
命令行参数输入
可以通过main方法的参数直接接收数组:

public class CommandLineArray {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("请通过命令行参数输入数组元素");
return;
}
int[] array = new int[args.length];
for (int i = 0; i < args.length; i++) {
array[i] = Integer.parseInt(args[i]);
}
System.out.println("输入的数组为:");
for (int num : array) {
System.out.print(num + " ");
}
}
}
文件输入数组
从文件中读取数组数据:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileArrayInput {
public static void main(String[] args) throws FileNotFoundException {
Scanner fileScanner = new Scanner(new File("input.txt"));
int length = fileScanner.nextInt();
int[] array = new int[length];
for (int i = 0; i < length; i++) {
array[i] = fileScanner.nextInt();
}
System.out.println("从文件读取的数组为:");
for (int num : array) {
System.out.print(num + " ");
}
fileScanner.close();
}
}
多维数组输入
处理二维数组的输入:
import java.util.Scanner;
public class TwoDArrayInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入行数: ");
int rows = scanner.nextInt();
System.out.print("请输入列数: ");
int cols = scanner.nextInt();
int[][] matrix = new int[rows][cols];
System.out.println("请输入矩阵元素(行优先):");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = scanner.nextInt();
}
}
System.out.println("输入的矩阵为:");
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
scanner.close();
}
}
注意事项
- 输入时要确保数据类型匹配,避免输入非数字字符导致异常
- 使用完Scanner后应该调用close()方法释放资源
- 对于大型数组,考虑使用BufferedReader提高读取效率
- 处理异常情况,如数组越界、输入格式错误等






