如何在 Java 中获取用户输入 [附示例]

已发表: 2021-05-27

目录

介绍

在 Java 中接受用户输入是用 Java 创建成功软件的第一步。 Java 程序通过各种输入源(如鼠标、键盘、网络请求、CLI 参数等)从用户那里收集输入。Java也有各种 I/O 包,可以导入到程序中以执行输入输出操作。 这些包支持基本类型的输入,如双精度、整数、字符串等。

本文将重点介绍像 Scanner、BufferedReader 和 InputStreamReader 这样的方法来获取Java 中的用户输入

如何使用 Scanner 类在 Java 中获取输入?

Scanner 类是“java.util”包中解析和处理所有原始类型输入的方法之一。 Scanner 类要求用户输入输入,然后在屏幕或控制台上打印相同的内容。 您可以从程序中的“java.util”包中导入 Scanner 类,并创建一个对象以使用其方法。

例如,

扫描仪测试 = 新扫描仪(System.in);

在上面的语句中,test 是一个对象的名字,System.in 是输入流。 创建的 Scanner 实例将扫描Java 中的用户输入

注意:不必将 System.in 写为程序中的输入字符串。 您可以将其替换为文件和要读取的文件,字符串作为输入流。

例如,

Scanner test = new Scanner(new FileInputStream(“testFile.txt”), “UTF-8”);

确保在完成编辑后编写代码 {test.close()} 以关闭扫描仪。

用于读取用户输入的扫描器方法

下表列出了扫描程序用于读取用户输入的 Java输入的方法。

方法返回类型描述
下一个() 细绳从 Scanner 返回下一个令牌
下一个字节() 字节将下一个输入读取为一个字节。
下一个浮动() 漂浮将下一个输入读取为浮点数。
下一个整数() 整数将下一个输入读取为整数。
下一个短() 短的将下一个输入读取为短。
下一个长() 将下一个输入读为 long。
nextBoolean() 布尔值将下一个输入读取为布尔值并返回值。
下一行() 细绳将扫描仪前进一行并返回跳过的输入。

例子

以下 Java 程序使用 Scanner 类在 Java 中获取用户输入(字符串、整数和浮点数)。

导入 java.util.Scanner;

类 TakeUserInput

{

公共静态无效主(字符串参数 [])

{

诠释一个;

浮动 b;

字符串 c;

扫描仪测试 = 新扫描仪(System.in);

//将用户输入作为字符串

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

c = in.nextLine();

System.out.println(“用户输入字符串为:”+c);

//将用户输入作为整数

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

a = in.nextInt();

System.out.println(“用户输入整数为:”+a);

//将用户输入作为浮点数

System.out.println("输入一个浮点数:");

b = in.nextFloat();

System.out.println(“用户输入浮点数为:”+b);

}}

输出

键入一个字符串:

安德鲁

用户输入字符串为:Andrew

输入一个整数:

03

用户输入整数为:03

输入浮点数:

61.46

用户输入浮点数为:61.46

如果您想了解有关使用扫描器类在 Java 中输入的更多信息,请使用扫描器博客查看Java 中的多字符串输入

BufferedReader 和 InputStreamReader 方法

BufferedReader 是 Java 中的另一个类,它从基于字符的输入流中扫描字符流。 InputStreamReader 是 Java 中的一个函数,它将输入流转换为字符序列供 BufferedReader 扫描。 BufferedReader 类接受 InputStream 作为参数。

BufferedReader 类使用 read() 和 readLine() 方法读取字符和下一行并返回它们。

您必须导入 java.io.BufferedReader 包来创建 BufferedReader 类。

// 创建一个文件读取器

FileReader test = new FileReader(String file);

// 创建一个 BufferedReader

BufferedReader a = new BufferedReader(test);

从世界顶级大学在线获得软件工程学位获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

用于从用户读取输入的 BufferedReader 方法

下表列出了缓冲读取器用于读取用户输入的 Java输入的方法。

方法描述
准备好() 验证文件阅读器是否处于读取状态。
标记() 标记已读取数据的缓冲读取器中的位置。
重置() 将控件返回到设置标记的点。

例子

以下 Java 程序使用 BufferedReader 类和 InputStreamReader 类来获取Java 中的用户输入

导入 java.io.BufferedReader;

导入 java.io.FileReader;

导入 java.io.IOException;

公共类测试{

公共静态无效主要(字符串[]参数){

BufferedReader 缓冲区 = null;

尝试 {

字符串扫描第一行;

buffer = new BufferedReader(new FileReader(“D:\\user_input.txt”));

while ((scanFirstLine = buffer.readLine()) != null) {

System.out.println(scanFirstLine);

}

} 捕捉(IOException a){

a.printStackTrace();

} 最后 {

尝试 {

如果(缓冲区!= null)

缓冲区.close();

} 捕捉(IOException b){

b.printStackTrace();

} } } }

输出

在文件中可以找到以下数据:

这是 BufferedReader 从文件中读取的示例语句。

在上面的示例中,我们创建了一个名为 buffer 的缓冲读取器。 缓冲阅读器与“user_input.txt”文件链接。

然后,我们使用 readLine() 方法从缓冲阅读器的缓冲区中扫描字符。

结论

在本文中,我们介绍了用于在 Java 中获取用户输入的方法 我们已经讨论了 Scanner 和 BufferedReader 方法以及示例。 我们还讨论了 Scanner 和 BufferedReader 类在 Java 中用于获取输入的方法 我们希望您对如何在 Java 中处理输入有一个基本的了解 如果您想了解更多 Java 编程语言,请查看 upGrad为工作专业人士设计的全栈开发执行 PG 课程

立即规划您的软件开发职业。

申请 upGrad 的软件工程与工作相关的 PG 认证