java如何从键盘输入两个数字

java如何从键盘输入两个数字

作者:Joshua Lee发布时间:2026-02-03阅读时长:0 分钟阅读次数:4

用户关注问题

Q
Java中读取多个数字输入有什么推荐的方法?

在Java程序中,需要从键盘一次性读取两个数字,有哪些实用的方法可以实现?

A

使用Scanner读取多个数字

可以使用Scanner类从System.in读取输入,通过调用scanner.nextInt()两次来读取两个整数,示例如下:

Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();

该方法简洁且常用,适合读取多个数字。

Q
如何避免键盘输入数字时报错?

用户在输入数字时,若不小心输入了非数字字符,如何让程序安全处理避免异常?

A

使用hasNextInt方法预检测输入

可以先使用scanner.hasNextInt()方法检查下一个输入是否为整数,若是则执行nextInt(),否则提示用户重新输入,这样避免了InputMismatchException异常,示例如下:

if(scanner.hasNextInt()) {
    int num = scanner.nextInt();
} else {
    System.out.println("请输入有效数字");
}
Q
除了Scanner类,还有哪些方法能实现Java键盘输入多个数字?

是否有其他类或方式可以用来从键盘输入两个数字,且便于后续处理?

A

使用BufferedReader结合String.split方法

可以用BufferedReader读取一整行字符串,然后通过空格分割得到数字字符串数组,再调用Integer.parseInt转换成整数。

示例代码:

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
String[] parts = line.split(" ");
int num1 = Integer.parseInt(parts[0]);
int num2 = Integer.parseInt(parts[1]);

这种方式适合从一行中获取多个数字。