如何在 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 课程。