java如何在控制台输入2个数

java如何在控制台输入2个数

作者:Rhett Bai发布时间:2026-02-04阅读时长:0 分钟阅读次数:1

用户关注问题

Q
如何在Java中读取用户输入的两个数字?

我想要写一个Java程序,在控制台输入两个数字,该如何实现?

A

使用Scanner类读取两个数字

可以使用Java中的Scanner类来读取控制台输入。首先创建Scanner对象,比如Scanner scanner = new Scanner(System.in);,然后使用scanner.nextInt()方法分别读取两个整数,最后关闭Scanner。示例如下:

import java.util.Scanner;

public class InputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        int num1 = scanner.nextInt();
        System.out.println("请输入第二个数字:");
        int num2 = scanner.nextInt();
        System.out.println("你输入的数字是:" + num1 + " 和 " + num2);
        scanner.close();
    }
}
Q
Java读取控制台数字时遇到输入异常怎么办?

在用Scanner读取数字时,如果用户输入了非数字内容,程序会报错,如何避免程序崩溃?

A

使用hasNextInt()方法判断输入有效性

使用Scanner读取数字前,可以先调用scanner.hasNextInt()判断接下来的输入是否为整数。如果返回true,则安全读取,否则提示用户重新输入。这样可以避免因输入非法导致程序异常停止。例如:

while (!scanner.hasNextInt()) {
    System.out.println("输入不是数字,请重新输入:");
    scanner.next(); // 读取错误的输入并丢弃
}
int num = scanner.nextInt();
Q
如何在控制台同时输入两个数字并用空格分隔读取?

想要在控制台一次性输入两个数字,中间用空格分隔,Java程序怎么处理这种输入?

A

利用Scanner的nextInt连续读取多个数字

Scanner在读取输入时,空白符(空格、换行)会作为分隔符,因此只要用户输入两个数字并由空格分隔,比如"10 20",调用scanner.nextInt()两次就能依次获取这两个数字。例如:

int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
System.out.println("数字1: " + num1 + ", 数字2: " + num2);