java如何从键盘输入一个整数

java如何从键盘输入一个整数

作者:William Gu发布时间:2026-02-11阅读时长:0 分钟阅读次数:4

用户关注问题

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

我想让Java程序能够接受用户在键盘输入的数字,该怎么实现?

A

使用Scanner类读取整数输入

在Java中,可以通过导入java.util.Scanner类来实现从键盘读取输入。创建Scanner对象后,使用nextInt()方法可以读取输入的整数。例如:

import java.util.Scanner;

public class InputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int number = scanner.nextInt();
        System.out.println("你输入的整数是:" + number);
        scanner.close();
    }
}
Q
Java中如何处理用户输入不是整数的情况?

如果用户输入的内容不是整数,Java程序怎么避免出错?

A

使用异常处理或输入校验确保输入为整数

为了防止程序因非整数输入而崩溃,可以先用Scanner的hasNextInt()方法判断输入是否是整数,或者使用try-catch捕获InputMismatchException异常。示例:

Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
if(scanner.hasNextInt()) {
    int number = scanner.nextInt();
    System.out.println("输入正确,数值为:" + number);
} else {
    System.out.println("输入的不是整数,请重试。");
}
scanner.close();
Q
Java中除了Scanner,是否还有其他方法读取键盘输入?

有没有Java的方法可以不使用Scanner来获取用户输入的整数?

A

使用BufferedReader读取并转换字符串输入

除了Scanner,Java还可以用BufferedReader结合InputStreamReader读取用户输入,然后将字符串转换成整数。示例代码如下:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class InputExample {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("请输入一个整数:");
        String input = reader.readLine();
        try {
            int number = Integer.parseInt(input);
            System.out.println("你输入的整数是:" + number);
        } catch(NumberFormatException e) {
            System.out.println("输入格式错误,必须为整数。");
        }
    }
}