java如何从键盘输入数组
使用 Scanner 类从键盘输入数组
Scanner 类是 Java 中最常用的输入工具之一,可以方便地从键盘读取数据。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度: ");
int n = scanner.nextInt();
int[] arr = new int[n];
System.out.println("请输入" + n + "个整数:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
System.out.println("输入的数组是:");
for (int num : arr) {
System.out.print(num + " ");
}
scanner.close();
}
}
使用 BufferedReader 类输入数组
BufferedReader 提供了更高效的输入方式,适合处理大量数据。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入数组长度: ");
int n = Integer.parseInt(reader.readLine());
int[] arr = new int[n];
System.out.println("请输入" + n + "个整数(用空格分隔):");
String[] inputs = reader.readLine().split(" ");
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(inputs[i]);
}
System.out.println("输入的数组是:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
使用命令行参数输入数组
可以通过 main 方法的参数来接收数组。
public class Main {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("请通过命令行参数输入数组元素");
return;
}
int[] arr = new int[args.length];
for (int i = 0; i < args.length; i++) {
arr[i] = Integer.parseInt(args[i]);
}
System.out.println("输入的数组是:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
处理字符串数组输入
如果需要输入字符串数组而非整数数组,可以这样实现。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度: ");
int n = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
String[] arr = new String[n];
System.out.println("请输入" + n + "个字符串:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextLine();
}
System.out.println("输入的数组是:");
for (String str : arr) {
System.out.println(str);
}
scanner.close();
}
}
使用 Java 8 Stream API 输入数组
Java 8 引入了 Stream API,可以更简洁地处理输入。
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数(用空格分隔):");
int[] arr = Arrays.stream(scanner.nextLine().split(" "))
.mapToInt(Integer::parseInt)
.toArray();
System.out.println("输入的数组是:");
Arrays.stream(arr).forEach(num -> System.out.print(num + " "));
scanner.close();
}
}
以上方法提供了多种从键盘输入数组的方式,可以根据具体需求选择最适合的方法。Scanner 适合简单交互,BufferedReader 适合大量数据,命令行参数适合脚本调用,Stream API 提供了函数式风格的解决方案。







