在Java中,处理不确定长度的数组输入可以通过以下几种方法实现:
1. 使用`Scanner`类和`ArrayList`:
import java.util.ArrayList;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);ArrayListarr = new ArrayList<>(); System.out.println("请输入数组的元素,以空格分隔,输入任意非数字字符结束输入:");while (scanner.hasNextInt()) {int num = scanner.nextInt();arr.add(num);}System.out.println("您输入的数组为:");for (int i : arr) {System.out.print(i + " ");}}}
2. 使用`Scanner`类和字符串分割:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一组整数,以逗号分隔:");String input = scanner.nextLine();String[] strs = input.split(",");int[] nums = new int[strs.length];for (int i = 0; i < strs.length; i++) {nums[i] = Integer.parseInt(strs[i].trim());}System.out.println("您输入的数组为:");for (int num : nums) {System.out.print(num + " ");}}}
3. 使用`Scanner`类和`nextLine`方法:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一组整数,以空格分隔:");String input = scanner.nextLine();String[] strs = input.split(" ");int[] nums = new int[strs.length];for (int i = 0; i < strs.length; i++) {nums[i] = Integer.parseInt(strs[i]);}System.out.println("您输入的数组为:");for (int num : nums) {System.out.print(num + " ");}}}
以上代码示例展示了如何使用`Scanner`类从用户那里获取不确定长度的整数数组输入。用户可以输入一系列以空格分隔的整数,程序将读取这些整数并存储在`ArrayList`或普通数组中。当用户输入非数字字符时,输入将结束。

