
java 如何输入数组
用户关注问题
想知道在Java程序中,如何让用户输入数组的数据,该如何编写代码来实现?
Java数组输入的基本方法
可以使用Scanner类来读取用户输入。首先创建一个Scanner对象,然后根据数组长度循环读取每个元素的值,存储到数组中。例如:
Scanner scanner = new Scanner(System.in);
int[] arr = new int[size];
for(int i = 0; i < size; i++) {
arr[i] = scanner.nextInt();
}
输入数组数据时,如果用户输入了非整数或超出范围的值,应该如何处理这些异常情况?
捕获并处理输入异常
使用try-catch语句捕获输入时可能发生的异常,如InputMismatchException。可以在catch块中提示用户重新输入,确保数组元素类型正确。例如:
try {
arr[i] = scanner.nextInt();
} catch (InputMismatchException e) {
System.out.println("请输入有效的整数!");
scanner.next(); // 清除错误输入
i--; // 重新输入当前元素
}
有没有简便的方法让用户通过一行输入多个数组元素,并且程序能正确解析?
使用字符串分割实现一行输入数组
可以使用Scanner的nextLine()方法读取整行字符串,然后通过String的split方法将字符串分割成多个子字符串,再逐个转换为整型存入数组。示例代码:
String line = scanner.nextLine();
String[] parts = line.trim().split("\s+");
int[] arr = new int[parts.length];
for(int i = 0; i < parts.length; i++) {
arr[i] = Integer.parseInt(parts[i]);
}