在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);
ArrayList
arr = 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`或普通数组中。当用户输入非数字字符时,输入将结束。