當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。