Scanner.hasNext() 方法的解释



在下面的代码中:

import java.io.*;
import java.util.*;
class GFG {
public static void main (String[] args) {
Scanner scan = new Scanner(System.in);
if(scan.hasNext("Teddy ")){ // or if change it here to "Bear"
System.out.println("Yes its true");
}
else {
System.out.println("false");
}
}
}

根据定义有下一个(字符串模式(:

如果下一个标记与从指定字符串构造的模式匹配,则返回 true。扫描仪不会前进超过任何输入。

  • 我无法了解什么是 java 的令牌以及令牌中是否包含空格

我无法得到的有什么意义下一个(字符串模式(

输入:

Teddy Bear

输出:

False

扫描程序使用的默认空格分隔符由 Character.isWhitespace(( 识别。 所以token基本上是一个默认在空格的基础上识别的单词。 例如,我是开发人员(这里的每个单词都是一个令牌(

如果你想匹配包括空格的单词,那么你可以使用模式,比如 -

String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.findInLine("(\d+) fish (\d+) fish (\w+) fish (\w+)");
MatchResult result = s.match();
for (int i=1; i<=result.groupCount(); i++)
System.out.println(result.group(i));
s.close();

hasNext(( 是 Java Scanner 类的一个方法,如果此扫描程序的输入中有另一个标记,则返回 true。

引用= https://www.javatpoint.com/post/java-scanner-hasnext-method

最新更新