java你如何动态输入数组

java你如何动态输入数组

作者:Rhett Bai发布时间:2026-02-08阅读时长:0 分钟阅读次数:2

用户关注问题

Q
Java如何实现用户输入多个数组元素?

我需要在Java程序中让用户输入一系列数字并存储到数组里,应该怎样实现?

A

利用Scanner类读取用户输入并填充数组

可以使用Scanner类来接收用户输入,先让用户输入数组的长度,再循环读取每个元素并存入数组,例如:

Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] arr = new int[n];
for(int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}

Q
如何动态调整数组大小来存储用户的输入数据?

如果我不知道用户会输入多少数据,有没有办法在Java中动态改变数组大小?

A

使用ArrayList代替固定长度数组实现动态存储

Java的数组大小是固定的,不能动态调整。可以使用ArrayList,它是一个可以动态增长的集合类。用户每输入一个数据,就将数据添加到ArrayList中,例如:

ArrayList list = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()) {
list.add(scanner.nextInt());
}
然后可以通过list.toArray()方法转换成数组。

Q
如何让Java程序读取一行输入并分割成数组元素?

我想让用户在一行输入多个数字,中间用空格分开,在Java中应该如何处理?

A

使用Scanner的nextLine和字符串split方法结合实现

可以使用Scanner的nextLine()方法读入整行输入,再使用String类的split(" ")方法以空格为分隔符,将字符串分割成字符串数组,然后遍历转换成数值并存入数组。例如:

Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] parts = line.split(" ");
int[] arr = new int[parts.length];
for(int i = 0; i < parts.length; i++) {
arr[i] = Integer.parseInt(parts[i]);
}