欢迎访问宙启技术站
智能推送

Java中使用Scanner类读取用户输入的整数示例

发布时间:2023-06-19 14:38:53

Scanner类是Java中的一个重要的输入类,它可以从多种输入源读取数据,包括用户的输入、文件等等。在本文中,我们将介绍如何在Java中使用Scanner类读取用户输入的整数。

一、创建Scanner对象

首先,我们需要创建Scanner对象。在Java中,Scanner类被定义在java.util包中,我们需要在程序中先导入这个包,然后才能使用Scanner类。

import java.util.Scanner;

public class InputExample {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        // ...

    }

}

在上面的代码中,我们首先导入了java.util包,然后创建了一个名为scanner的Scanner对象。Scanner对象的构造函数需要传入一个参数,这个参数代表输入源,我们在本例中使用System.in作为输入源,表示从标准输入读取数据。

二、读取整数

创建了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 num = scanner.nextInt();

        System.out.println("您输入的整数是:" + num);

    }

}

在上面的代码中,我们先在控制台输出一条“请输入一个整数”的提示,然后使用nextInt()方法来读取用户输入的整数,存储在num变量中。最后,我们在控制台输出“您输入的整数是:”和num的值。

三、异常处理

在使用Scanner类读取用户输入时,需要注意输入格式的正确性,否则程序可能会在读取整数时抛出InputMismatchException异常,这种异常代表输入格式不正确,无法将输入转换为目标类型。

为了避免这种异常的发生,我们可以使用hasNextInt()方法来判断输入源中是否还有整数,如果有,再调用nextInt()方法读取整数。使用try-catch语句可以在抛出异常时进行相应的处理。

import java.util.Scanner;

import java.util.InputMismatchException;

public class InputExample {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int num = 0;

        boolean flag = true;

        while(flag) {

            System.out.print("请输入一个整数:");

            if(scanner.hasNextInt()) {

                num = scanner.nextInt();

                flag = false;

            } else {

                System.out.println("输入的不是整数,请重新输入。");

                scanner.next();

            }

        }

        System.out.println("您输入的整数是:" + num);

    }

}

在上面的代码中,我们使用hasNextInt()方法来判断输入源中是否还有整数,如果有,再调用nextInt()方法读取整数。如果输入源中不是整数,我们输出一条“输入的不是整数,请重新输入。”的提示信息,并使用scanner.next()方法清除缓存中的非整数。这里使用while循环来确保读取的是一个整数。

四、总结

在Java中使用Scanner类读取用户输入的整数需要先创建Scanner对象,然后使用nextInt()方法读取整数。为了确保输入格式的正确性,我们可以使用hasNextInt()方法和try-catch语句来进行输入合法性的判断和异常处理。Scanner类可以方便地读取用户输入,并且可以从多种输入源中读取数据,使用灵活。