java如何从键盘上输入一个数字

java如何从键盘上输入一个数字

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

用户关注问题

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

我想用Java编写程序,让用户从键盘输入一个数字,应该怎么实现?

A

使用Scanner类读取数字输入

可以通过导入java.util.Scanner类,并创建Scanner对象来读取用户输入。调用Scanner的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
如何避免用户输入非数字导致程序报错?

如果用户不小心输入了字母或其他非数字字符,程序如何处理才不会崩溃?

A

使用hasNextInt()方法进行输入校验

在读取数字之前,可以使用Scanner的hasNextInt()方法判断输入是否为有效整数。如果输入无效,可以提示用户重新输入。例如:

import java.util.Scanner;

public class SafeInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个数字: ");
        while (!scanner.hasNextInt()) {
            System.out.println("输入无效,请输入一个整数。");
            scanner.next(); // 读取并忽略错误输入
        }
        int number = scanner.nextInt();
        System.out.println("正确输入的数字是: " + number);
        scanner.close();
    }
}
Q
如何在Java中读取带小数的数字输入?

如果用户想输入小数或浮点数,应如何从键盘读取?

A

使用nextDouble()方法读取浮点数

Scanner类提供nextDouble()方法,可以读取用户输入的浮点数。示例代码如下:

import java.util.Scanner;

public class DoubleInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个小数: ");
        double number = scanner.nextDouble();
        System.out.println("你输入的小数是: " + number);
        scanner.close();
    }
}