您的位置:

使用Scanner读取用户输入的Java代码示例

在Java中,我们可以使用Scanner类来读取用户的输入。Scanner类提供了一种简单方便的方式来读取控制台上的用户输入数据。本文将对Scanner类的使用做出详细阐述,首先我们先来看看Scanner的基础用法。

一、Scanner基础用法

1、首先需要导入Scanner类,可以使用import java.util.Scanner;语句导入。

    import java.util.Scanner;

2、然后需要创建Scanner对象,可以使用如下代码创建一个Scanner对象:

    Scanner scanner = new Scanner(System.in);

其中System.in表示输入流,也就是控制台上的输入流。我们将System.in作为Scanner的参数,使得Scanner从控制台上读取用户输入数据。

3、接着,我们可以使用Scanner对象的next()方法来读取用户的输入数据。next()方法会等待用户输入数据,并且在用户输入完毕后返回输入数据:

    String inputStr = scanner.next();

上述代码会等待用户输入数据,并且将用户输入的数据赋值给inputStr变量。需要注意的是,next()方法会读取到用户输入数据的第一个“空白字符”(比如空格、制表符、回车),如果需要读取整行输入数据,则可以使用nextLine()方法。

二、Scanner的高级用法

1、读取不同数据类型

Scanner除了可以读取字符串外,还可以读取不同类型的数据字段,例如:整数、浮点数、布尔等。我们可以使用Scanner对象的nextInt()、nextFloat()、nextBoolean()等方法来读取不同类型的数据字段。

例如,读取一个整数:

    int num = scanner.nextInt();

需要注意的是,如果在读取非字符串类型数据时,用户输入的数据格式不正确,会抛出InputMismatchException异常,需要进行异常处理。

2、Scanner类的定界符

Scanner类还支持自定义定界符,定界符指的是在读取字符串时用于分隔不同字段的字符。默认情况下,Scanner使用空白字符作为定界符,但是我们可以通过调用Scanner对象的useDelimiter()方法来自定义定界符。

例如,使用逗号作为定界符:

    scanner.useDelimiter(",");

这样就会使Scanner使用逗号来分隔输入的字符串。

3、Scanner类的输入异常处理

在使用Scanner读取用户输入时,需要考虑到输入异常的情况,例如:用户输入的数据类型与我们需要读取的数据类型不匹配时,我们需要进行相应的异常处理。可以使用try-catch语句来处理这些异常,如下所示:

    try {
        int num = scanner.nextInt();
    } catch (InputMismatchException e) {
        System.out.println("输入的数据格式不正确!");
    }

三、完整示例代码

下面是使用Scanner读取用户输入的完整示例代码:

    import java.util.Scanner;

    public class ScannerDemo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输出一个整数:");
            try {
                int num = scanner.nextInt();
                System.out.println("你输入的整数是:" + num);
            } catch (InputMismatchException e) {
                System.out.println("输入的数据格式不正确!");
            }
        }
    }

运行上述代码,会提示用户输入一个整数,当用户输入时,程序会读取输入的整数,并输出该整数。

四、总结

本文主要介绍了使用Scanner读取用户输入的Java示例代码,通过了解Scanner的基础和高级用法,我们可以方便地读取控制台上的用户输入。同时,在读取用户输入时需要考虑到输入异常的情况,可以使用try-catch语句来相应处理。