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

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

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

用户关注问题

Q
如何在Java中读取用户输入的整数?

我想在Java程序中获取用户通过键盘输入的整数,应该使用什么方法或类?

A

使用Scanner类读取整数

在Java中,可以使用java.util.Scanner类来读取键盘输入的整数。首先需要创建Scanner对象并关联System.in流,然后调用nextInt()方法即可读取整数。例如:

import java.util.Scanner;

public class InputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数: ");
        int number = scanner.nextInt();
        System.out.println("你输入的整数是: " + number);
        scanner.close();
    }
}
Q
使用Scanner读取整数时如何处理输入错误?

如果用户输入的内容不是整数,如何在Java中避免程序崩溃并提示重新输入?

A

通过判断输入类型和异常处理保证输入有效

在读取整数时,可以使用Scanner的hasNextInt()方法检查下一输入是否为整数,或者使用try-catch捕获InputMismatchException异常。这样可以避免输入非整数导致程序异常。例如,可以循环提示用户输入直到输入有效整数。示例代码:

import java.util.Scanner;
import java.util.InputMismatchException;

public class InputValidation {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int number;
        while (true) {
            System.out.print("请输入一个整数: ");
            try {
                number = scanner.nextInt();
                break;
            } catch (InputMismatchException e) {
                System.out.println("输入错误,请输入有效的整数。");
                scanner.next(); // 清除错误输入
            }
        }
        System.out.println("你输入的整数是: " + number);
        scanner.close();
    }
}
Q
除了Scanner,还有其他方法可以实现Java键盘输入整数吗?

有没有除Scanner外的其他方式在Java中从键盘读取整数?

A

使用BufferedReader结合InputStreamReader读取整数字符串后转换

可以使用java.io.BufferedReader和InputStreamReader组合来读取纯文本输入,读取一行字符串后使用Integer.parseInt()方法将字符串转成整数。示例代码:

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

public class BufferedReaderInput {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("请输入一个整数: ");
        try {
            String line = reader.readLine();
            int number = Integer.parseInt(line);
            System.out.println("你输入的整数是: " + number);
        } catch (IOException | NumberFormatException e) {
            System.out.println("输入无效,请输入正确的整数。");
        }
    }
}