Java 掃描器接受字符輸入
瀏覽人數:338最近更新:
一、概述
在本教程中,我們將看到如何從Scanner
類中獲取字符輸入。
2. 掃描一個字符
Java Scanner
不提供任何類似於nextInt()
、 nextLine(),
等的字符輸入方法。
有幾種方法可以使用Scanner
進行字符輸入。
讓我們首先創建一個輸入字符串:
String input = new StringBuilder().append("abc\n")
.append("mno\n")
.append("xyz\n")
.toString();
3.使用next()
讓我們看看如何使用Scanner
的next()
方法和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);
}
六,結論
在本教程中,我們學習瞭如何使用 Java Scanner
獲取字符輸入。
與往常一樣,示例的完整源代碼可在 GitHub 上獲得。
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議