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

Java中如何使用Scanner函数从控制台读取用户输入的数据?

发布时间:2023-06-22 15:11:39

Java的Scanner类是一个用于解析基本类型和字符串的文本扫描器,它可以从多种数据源中获取数据,包括标准输入、文件、字符串等。在本文中,我们将重点介绍如何使用Scanner函数从控制台读取用户输入的数据。

Scanner函数的基本用法

首先,让我们看一下Scanner函数的基本用法。Scanner类位于java.util包中,我们可以通过以下方式来创建一个Scanner对象:

Scanner scanner = new Scanner(System.in);

其中,System.in表示输入流,即表示从控制台读取数据。

接下来,就可以调用Scanner对象的相应方法来获取用户输入的数据,并进行操作了。Scanner类提供了多个方法来读取各种不同类型的输入数据,例如nextInt()、nextDouble()、nextLine()等等。下面是这些方法的作用及用法:

1. nextInt()

nextInt()方法用于读取用户输入的整数,它会忽略输入流中的所有空白符(如空格、制表符、换行符等),直到找到下一个整数为止。如果输入流中没有整数,则会抛出InputMismatchException异常。下面是nextInt()方法的用法:

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

2. nextDouble()

nextDouble()方法用于读取用户输入的双精度浮点数,它的工作原理与nextInt()方法类似。如果输入流中没有双精度浮点数,则会抛出InputMismatchException异常。下面是nextDouble()方法的用法:

double num = scanner.nextDouble();
System.out.println("您输入的双精度浮点数是:" + num);

3. nextLine()

nextLine()方法用于读取用户输入的一行字符串,它会读取输入流中的所有字符,直到遇到换行符为止。下面是nextLine()方法的用法:

String str = scanner.nextLine();
System.out.println("您输入的字符串是:" + str);

需要注意的是,nextLine()方法会读取输入流中的换行符,因此在接下来的读取操作中,需要先调用一次nextLine()方法来清空输入缓存区。例如:

int num = scanner.nextInt(); // 读取整数
scanner.nextLine(); // 清空输入缓存区
String str = scanner.nextLine(); // 读取字符串

同时,Scanner类还提供了其他一些有用的方法,例如hasNextInt()、hasNextDouble()、hasNextLine()等等,它们可以用于检查输入流中是否存在相应类型的数据,以避免出现InputMismatchException异常。

完整示例代码

下面是一个完整的示例代码,演示如何使用Scanner函数从控制台读取用户输入的数据,并进行相应的处理:

import java.util.Scanner;

public class Demo {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 创建Scanner对象

        System.out.print("请输入一个整数:");
        int num1 = scanner.nextInt(); // 读取整数
        System.out.println("您输入的整数是:" + num1);

        System.out.print("请输入一个双精度浮点数:");
        double num2 = scanner.nextDouble(); // 读取双精度浮点数
        System.out.println("您输入的双精度浮点数是:" + num2);

        scanner.nextLine(); // 清空输入缓存区

        System.out.print("请输入一个字符串:");
        String str = scanner.nextLine(); // 读取字符串
        System.out.println("您输入的字符串是:" + str);
    }

}

在运行这段代码时,控制台会依次提示用户输入整数、双精度浮点数和字符串。用户输入完数据后,程序会输出相应的提示信息。例如,用户输入了以下数据:

23
3.141592653589
Hello, World!

则程序会输出如下结果:

请输入一个整数:23
您输入的整数是:23
请输入一个双精度浮点数:3.141592653589
您输入的双精度浮点数是:3.141592653589
请输入一个字符串:Hello, World!
您输入的字符串是:Hello, World!

总结

通过以上介绍,我们可以掌握如何使用Scanner函数从控制台读取用户输入的数据。在实际开发中,我们经常需要读取用户输入的数据来进行不同的操作,Scanner函数为我们提供了一种方便、快捷的方式来实现这一目的。同时,需要注意的是,在读取不同类型的数据时,要根据需要选择相应的读取方法,并注意清空输入缓存区,避免出现异常。