java读取scanner输入中的一行中的所有数值
时间: 2024-10-25 21:17:11 浏览: 19
在Java中,你可以使用`Scanner`类来读取用户的键盘输入,包括一行中的所有数值。假设你想要读取整数或浮点数,可以按照以下步骤操作:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象
System.out.println("请输入一组数值(用空格分隔):");
String inputLine = scanner.nextLine(); // 读取一行用户输入
// 使用split()方法根据空格分割字符串,将结果存储到数组中
String[] numbers = inputLine.split("\\s+"); // 此处"\\s+"匹配一个或多个空白字符
for (String number : numbers) {
try {
// 尝试将每个元素转换为数值
if (!number.isEmpty()) { // 避免处理空值
int integerNumber = Integer.parseInt(number);
double doubleNumber = Double.parseDouble(number);
// 打印或处理数值
System.out.println("整数:" + integerNumber);
System.out.println("浮点数:" + doubleNumber);
}
} catch (NumberFormatException e) {
// 如果无法转换,捕获异常并提示可能是非数字输入
System.out.println("无效的输入: " + number);
}
}
scanner.close();
}
}
```
在这个例子中,我们遍历数组中的每一个元素,尝试将其转换成整数(`Integer.parseInt()`)和浮点数(`Double.parseDouble()`)。如果遇到不是数字的输入,会抛出`NumberFormatException`,这时我们会捕获异常并告知用户。
阅读全文