
java如何一次性输入多个数
用户关注问题
在Java程序中,如何一次性接收用户输入的多个数字?
使用Scanner读取多数字输入
可以使用Scanner类的nextInt()方法结合循环结构多次读取数字,也可以一次性读取一整行字符串,然后通过空格分割,将每个子字符串转换成整数。示例代码:
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] numbers = line.split(" ");
for (String num : numbers) {
int number = Integer.parseInt(num);
// 处理number
}
用户输入多个数字时,数字之间有空格或逗号,该如何正确读取?
使用正则表达式进行分割
可以利用String的split方法,传入包含各种分隔符的正则表达式,例如"[ ,]+",用于匹配空格和逗号。示例:
String line = scanner.nextLine();
String[] nums = line.split("[ ,]+");
for (String num : nums) {
int number = Integer.parseInt(num);
// 处理数字
}
当输入的整数数量不确定时,如何动态读取所有输入数字?
利用Scanner的hasNextInt()方法循环读取
可以使用Scanner类的hasNextInt()方法判断是否还有整数输入,然后不断调用nextInt()读取。示例代码:
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
// 处理num
}
scanner.close();