拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 Java 扫描器接受字符输入

Java 扫描器接受字符输入

白鹭 - 2022-10-03 2288 0 2

一、概述

在本教程中,我们将看到如何从Scanner类中获取字符输入。

2. 扫描一个字符

JavaScanner不提供任何类似于nextInt()nextLine(),等的字符输入方法。

有几种方法可以使用Scanner进行字符输入。

让我们首先创建一个输入字符串:

String input = new StringBuilder().append("abc\n")
 .append("mno\n")
 .append("xyz\n")
 .toString();

3.使用next()

让我们看看如何使用Scannernext()方法和String类的charAt()方法将字符作为输入

@Test
 public void givenInputSource_whenScanCharUsingNext_thenOneCharIsRead() {
 Scanner sc = new Scanner(input);
 char c = sc.next().charAt(0);
 assertEquals('a', c);
 }

Java Scanner 的next()方法返回一个String 对象我们在这里使用String类的charAt()方法从字符串对像中获取字符。

4. 使用findInLine()

此方法将字符串模式作为输入,我们将传递“.” (点)仅匹配单个字符。但是,这将返回单个字符作为字符串,因此我们将使用charAt()方法来获取字符:

@Test
 public void givenInputSource_whenScanCharUsingFindInLine_thenOneCharIsRead() {
 Scanner sc = new Scanner(input);
 char c = sc.findInLine(".").charAt(0);
 assertEquals('a', c);
 }

5. 使用useDelimeter()

此方法也只扫描一个字符,但作为类似于findInLine()API 的字符串对象。我们可以类似地使用charAt()方法来获取字符值:

@Test
 public void givenInputSource_whenScanCharUsingUseDelimiter_thenOneCharIsRead() {
 Scanner sc = new Scanner(input);
 char c = sc.useDelimiter("").next().charAt(0);
 assertEquals('a', c);
 }

六,结论

在本教程中,我们学习了如何使用JavaScanner获取字符输入。



标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *