当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Scanner hasNext()用法及代码示例


Scanner类hasNext()方法

用法:

    public boolean hasNext();
    public boolean hasNext(Pattern patt);
    public boolean hasNext(String patt);
  • hasNext() 方法可在java.util包。
  • hasNext() 方法用于检查此 Scanner 的输入中是否存在任何其他令牌。
  • hasNext(Pattern patt) 方法用于检查下一个完整的令牌是否满足给定的模式。
  • hasNext(String patt) 方法用于检查下一个完整的标记是否符合由给定字符串形成的模式(patt)。
  • 这些方法可能会在检查给定模式时抛出异常。
    IllegalStateException:当这个扫描器没有打开时,这个异常可能会抛出。
  • 这些是非静态方法,可以通过类对象访问,如果我们尝试使用类名访问这些方法,则会出现错误。

参数:

  • 在第一种情况下,hasNext(),
    • 它不接受任何参数。
  • 在第二种情况下,hasNext(Pattern patt),
    • Pattern patt– 表示要读取的模式。
  • 在第二种情况下,hasNext(String patt),
    • String patt– 表示此字符串以表示要读取的模式。

返回值:

在所有情况下,方法的返回类型是boolean

  • 在第一种情况下,当此 Scanner 的输入中存在任何其他标记时,它返回 true,否则返回 false。
  • 在第二种和第三种情况下,当此 Scanner 存在任何其他符合给定模式 (patt) 的令牌时,它返回 true。

例:

// Java program is to demonstrate the example
// of hasNext() method of Scanner

import java.util.*;
import java.util.regex.*;

public class HasNext {
 public static void main(String[] args) {
  String str = "Java Programming! 3 * 8= 24";

  // Instantiates Scanner
  Scanner sc = new Scanner(str);

  // By using hasNext() method is to
  // check whether this object has more
  // token or not
  boolean status = sc.hasNext();
  System.out.println("sc.hasNext():" + status);

  // By using hasNext(Pattern) method is to
  // check whether the given pattern exists
  // in this object or not
  status = sc.hasNext(Pattern.compile("...a"));
  System.out.println("sc.hasNext(Pattern.compile(...a)):" + status);

  // By using hasNext(String) method is to
  // check whether the given pattern exists
  // formed from the given string or not
  status = sc.hasNext("..0.a");
  System.out.println("sc.hasNext(..0.a):" + status);

  // Scanner closed
  sc.close();
 }
}

输出

sc.hasNext():true
sc.hasNext(Pattern.compile(...a)):true
sc.hasNext(..0.a):false


相关用法


注:本文由纯净天空筛选整理自Preeti Jain大神的英文原创作品 Java Scanner hasNext() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。