Java 中获取用户输入数组的方法有两种:使用 Scanner 类(步骤:创建 Scanner 对象、拆分输入字符串、转换元素类型)和使用 BufferedReader 类(步骤:创建 BufferedReader 对象、读取文本行、使用正则表达式拆分文本行、转换元素类型)。

如何使用 Java 接受用户输入的数组
简介
在 Java 中,我们可以通过各种方法从用户获取输入,包括数组数据。以下两种方法是常用的:
Scanner 类
立即学习“Java免费学习笔记(深入)”;
*Scanner 类提供了一种便捷的方法来读取用户输入,包括数组数据。
步骤:
AlegroCart新功能:维类:包括在这两种线性长宽高或面积或体积长波产品尺寸允许与期权产品:让产品/期权组合独特的数量,尺寸,图像和型号。选择店铺标识管理 图片放大镜:显示一个图片放大上空盘旋时,产品形象弹出框。自定义错误报告:设置在管理员启用。 开发者只可以显示详细的信息。错误信息都写入到错误日志文件每天可以通过电子邮件发送给管理员。仓库皮卡航运模块:允许客户指定产品在商店的位置回升。增加了
- 使用
Scanner类创建一个新的对象,传入System.in作为输入源。 - 使用
Scanner对象的split方法将输入字符串按空格或自定义分隔符拆分为数组。 - 将拆分的数组元素转换为所需的类型,如整数或字符串。
代码示例:
import java.util.Scanner;
public class InputArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 提示用户输入数组元素
System.out.println("请输入一组数组元素,用空格分隔:");
String input = scanner.nextLine();
// 将输入字符串拆分为数组
String[] elements = input.split(" ");
// 转换元素为整数数组
int[] array = new int[elements.length];
for (int i = 0; i < elements.length; i++) {
array[i] = Integer.parseInt(elements[i]);
}
// 打印数组元素
System.out.println("用户输入的数组元素为:");
for (int element : array) {
System.out.print(element + " ");
}
}
}BufferedReader 类
*BufferedReader 类可用于从命令行或文件读取文本数据,但它不能直接读取数组数据。不过,我们可以将 BufferedReader 与正则表达式结合使用来实现数组输入。
步骤:
- 使用
BufferedReader类创建一个新的对象,传入System.in作为输入源。 - 使用
BufferedReader对象的readLine方法读取用户输入的文本行。 - 使用正则表达式将文本行拆分为数组元素。
- 将拆分的数组元素转换为所需的类型,如整数或字符串。
代码示例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class InputArray {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// 提示用户输入数组元素
System.out.println("请输入一组数组元素,用空格分隔:");
String input = reader.readLine();
// 正则表达式拆分数组
Pattern pattern = Pattern.compile("(\\d+)\\s?");
Matcher matcher = pattern.matcher(input);
int[] array = new int[0];
while (matcher.find()) {
int element = Integer.parseInt(matcher.group(1));
array = addElement(array, element);
}
// 打印数组元素
System.out.println("用户输入的数组元素为:");
for (int element : array) {
System.out.print(element + " ");
}
}
private static int[] addElement(int[] array, int element) {
int[] newArray = new int[array.length + 1];
for (int i = 0; i < array.length; i++) {
newArray[i] = array[i];
}
newArray[array.length] = element;
return newArray;
}
}










