Java 输入字符串数组的方法
在Java中,有多种方式可以输入字符串数组,以下是几种常见的方法:

使用Scanner类从控制台输入
import java.util.Scanner;
public class StringArrayInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 方法1:先输入数组长度,再逐个输入元素
System.out.print("请输入数组长度: ");
int n = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
String[] arr1 = new String[n];
System.out.println("请输入" + n + "个字符串:");
for (int i = 0; i < n; i++) {
arr1[i] = scanner.nextLine();
}
// 方法2:直接输入一行空格分隔的字符串
System.out.print("请输入多个字符串,用空格分隔: ");
String input = scanner.nextLine();
String[] arr2 = input.split(" ");
// 打印数组
System.out.println("方法1的数组: " + Arrays.toString(arr1));
System.out.println("方法2的数组: " + Arrays.toString(arr2));
scanner.close();
}
}
使用BufferedReader类从控制台输入
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderInput {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入多个字符串,用逗号分隔: ");
String input = reader.readLine();
String[] arr = input.split(",");
// 打印数组
System.out.println("输入的数组: " + Arrays.toString(arr));
reader.close();
}
}
从文件中读取字符串数组
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileInput {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("input.txt"))) {
String line;
String[] arr = new String[0]; // 初始空数组
while ((line = reader.readLine()) != null) {
// 将每行添加到数组中
arr = Arrays.copyOf(arr, arr.length + 1);
arr[arr.length - 1] = line;
}
// 打印数组
System.out.println("从文件读取的数组: " + Arrays.toString(arr));
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用命令行参数输入
public class CommandLineArgs {
public static void main(String[] args) {
// args就是命令行参数数组
System.out.println("命令行参数数组: " + Arrays.toString(args));
// 使用示例:java CommandLineArgs hello world java
}
}
注意事项
- 使用
Scanner时,如果先调用nextInt()等数字读取方法,需要记得调用nextLine()来消耗换行符 - 从控制台输入时,
split()方法可以指定分隔符(如空格、逗号等) - 处理大文件时,建议使用缓冲读取(如BufferedReader)
- 关闭资源(如Scanner、BufferedReader)是好习惯,可以使用try-with-resources语句自动关闭
方法可以根据具体需求选择使用。

