hasNext()方法语法:
public boolean hasNext(); public boolean hasNext(Pattern patt); public boolean hasNext(String patt);
hasNext()方法在java.util包中可用。
hasNext()方法用于检查此扫描程序的输入中是否存在其他令牌。
hasNext(Pattern patt)方法用于检查下一个完整令牌是否满足给定模式。
hasNext(String patt)方法用于检查下一个完整令牌是否满足从给定字符串形成的模式(patt)。
这些方法在检查给定模式时可能会引发异常。
IllegalStateException:如果未打开此扫描器,则可能引发此异常。
这些是非静态方法,可通过类对象访问;如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,hasNext(),
它不接受任何参数。
在第二种情况下,hasNext(Pattern patt),
模式patt –表示要读取的模式。
在第二种情况下,hasNext(String patt),
字符串patt –表示此字符串,表示要读取的模式。
返回值:
在所有情况下,方法的返回类型均为布尔值,
在第一种情况下,当此扫描器的输入中存在任何其他令牌时,它返回true,否则返回false。
在第二种和第三种情况下,当此扫描器具有满足给定模式(patt)的任何其他令牌时,它将返回true。
示例
//Java程序是演示示例
//的hasNext()扫描仪的方法
import java.util.*;
import java.util.regex.*;
public class HasNext {
public static void main(String[] args) {
String str = "Java Programming! 3 * 8= 24";
//实例化扫描仪
Scanner sc = new Scanner(str);
//通过使用hasNext()方法是
//检查该对象是否还有更多
//是否令牌
boolean status = sc.hasNext();
System.out.println("sc.hasNext(): " + status);
//通过使用hasNext(Pattern)方法是
//检查给定的模式是否存在
//是否在这个对象中
status = sc.hasNext(Pattern.compile("...a"));
System.out.println("sc.hasNext(Pattern.compile(...a)): " + status);
//通过使用hasNext(String)方法是
//检查给定的模式是否存在
//是否由给定的字符串组成
status = sc.hasNext("..0.a");
System.out.println("sc.hasNext(..0.a): " + status);
//扫描仪关闭
sc.close();
}
}输出结果
sc.hasNext(): true sc.hasNext(Pattern.compile(...a)): true sc.hasNext(..0.a): false