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

如何使用 Java 中的 Scanner() 函数从标准输入读取用户输入?

发布时间:2023-06-10 23:18:04

在 Java 中,可以使用 Scanner 类来从标准输入读取用户输入。Scanner 类提供方便的方法来读取各种类型的输入数据,包括整数、浮点数、字符串和其他常见类型的数据。

要使用 Scanner 类来读取输入数据,请按照以下步骤进行操作:

1. 导入 java.util.Scanner 包。

在程序的开头,需要将 Scanner 类导入到程序中。这可以通过在程序的头部添加以下代码来完成:

import java.util.Scanner;

2. 创建 Scanner 对象。

使用 Scanner 类之前,需要先创建一个 Scanner 对象。在创建 Scanner 对象的同时,需要将标准输入 System.in 作为参数传递给它。这可以通过以下代码来完成:

Scanner scanner = new Scanner(System.in);

3. 读取输入数据。

一旦 Scanner 对象创建成功,就可以使用它的各种方法来读取输入数据了。下面是一些常见的读取输入数据的方法:

- next():读取下一个字符串,以空格作为分隔符。

- nextLine():读取一行字符串,以换行符作为结束符。

- nextInt():读取下一个整数。

- nextDouble():读取下一个双精度浮点数。

例如,以下代码将使用 Scanner 对象读取用户输入的字符串并将其打印到控制台上:

Scanner scanner = new Scanner(System.in);

System.out.println("请输入一个字符串:");

String str = scanner.nextLine();

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

4. 关闭 Scanner 对象。

一旦不再需要 Scanner 对象,可以使用 close() 方法将其关闭。这可以通过以下代码来完成:

scanner.close();

关于 Scanner 对象的注意事项:

- 如果在使用 Scanner 对象之后忘记关闭它,可能会导致内存泄漏和性能问题。因此,在用完 Scanner 对象时,应该及时关闭它。

- 在读取输入数据之前,可以使用 hasNext() 方法检查是否还有输入数据可读取。例如,以下代码可以检测用户是否输入了一个整数:

Scanner scanner = new Scanner(System.in);

if (scanner.hasNextInt()) {

    int num = scanner.nextInt();

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

} else {

    System.out.println("您输入的不是整数!");

}

- 如果输入数据的格式不正确,例如尝试用 nextInt() 方法读取一个字符串,则会抛出 InputMismatchException 异常。

Scanner 类提供了一种方便的方式来从标准输入读取用户输入数据。使用它可以简化输入数据的读取过程,并使代码更易于阅读和理解。