📜  Java中的StringTokenizer 方法与示例|设置 2

📅  最后修改于: 2022-05-13 01:55:51.042000             🧑  作者: Mango

Java中的StringTokenizer 方法与示例|设置 2

Java中的 StringTokenizer 类用于将字符串分解为标记。必须通过 StringTokenzier 类,其中讨论了概念和构造函数,这有助于更好地理解下面讨论的方法,如下所示:

StringTokenizer 类的方法如下:

  • hasMoreToken
  • 下一个令牌
  • 计数令牌
  • 下一个元素
  • 拥有更多元素

方法一: hasMoreTokens()

该方法在测试 StringTokenizer 的字符串是否存在标记方面发挥作用。那些被 StringTokenizer 对象视为分隔符的字符将更改为字符分隔符中的字符串。然后返回字符串中当前位置的下一个标记。

句法:

public boolean hasMoreTokens()

返回类型:布尔值,当且仅当字符串中当前位置的下一个标记存在时为 true,否则为 false。

方法二: nextToken()

该方法从给定的 StringTokenizer 返回下一个标记。

句法:

public String nextToken()

返回类型:给定 StringTokenizer 的下一个标记(如果存在)。

抛出异常: NoSuchElementException 如果没有更多的标记。

方法三:countTokens()

该方法返回存在的令牌总数,以便我们可以在它给出异常之前使用 nextToken() 方法。

句法:

public int countTokens()

返回类型:使用当前分隔符集的字符串中剩余的标记数。

例子

Java
// Java Program to Illustrate Methods of StringTokenizer class
// Via hasMoreToken(), nextToken() and countTokens()
 
// Importing required classes
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String args[]) {
         
        // Input strings
        String mydelim = " : ";
        String mystr = "JAVA : Code : String : Tokenizer : Geeks";
 
        // Use of Constructor 2
        // Here we are passing Delimiter - "mydelim"
        StringTokenizer geeks3 =
            new StringTokenizer(mystr, mydelim);
 
        // Printing count of tokens and tokens
        // using countTokens() method
        int count = geeks3.countTokens();
        System.out.println("Number of tokens : " + count + "\n");
 
        // Iterating to get the tokens
        for (int i = 0; i < count; i++)
            System.out.println("token at [" + i + "] : "
                               + geeks3.nextToken());
 
        // checks for more tokens using hasMoreTokens() method
        // which holds true till there is single element remaining
        while (geeks3.hasMoreTokens())
 
            // Returning the next token
            // using nextToken() method
            System.out.println(geeks3.nextToken());
    }
}


Java
// Java Program to Illustrate Methods of StringTokenizer
// Class Via hasMoreElements, nextElement and nextElement
 
// Importing required classes
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String args[])
    {
 
        // Input strings
        String mydelim = " : ";
        String mystr
            = "JAVA : Code : String : Tokenizer : Geeks";
 
        // Use of Constructor 2
        // Here we are passing Delimiter - "mydelim"
        StringTokenizer geeks
            = new StringTokenizer(mystr, mydelim);
 
        // Counting no. of tokens present
        // using countTokens() method
        int count = geeks.countTokens();
 
        // Printing no. of tokens present
        System.out.println("Number of tokens : " + count);
 
        //  Condition holds true till there is
        // single token remaining using hasMoreElements()
        // method True if tokens are present
        while (geeks.hasMoreElements())
 
            //  Returning the next token
            // using nextElement() method
            System.out.println(geeks.nextElement());
    }
}


输出
Number of tokens : 5

token at [0] : JAVA
token at [1] : Code
token at [2] : String
token at [3] : Tokenizer
token at [4] : Geeks

方法四: nextElement()

该方法的工作原理与 nextToken 类似,只是它返回的是 Object 而不是 String。存在以便此类可以实现 Enumeration 接口。

句法:

public Object nextElement()

返回类型:给定 StringTokenizer 的下一个标记。

抛出异常: NoSuchElementException 如果没有更多的标记。

方法五: hasMoreElements()

此方法返回与 hasMoreToken 相同的值。它的存在是为了让类可以实现 Enumeration 接口。

句法:

public boolean hasMoreElements()

返回类型:布尔值,如果字符串中存在标记,则为 true,否则为 false

例子

Java

// Java Program to Illustrate Methods of StringTokenizer
// Class Via hasMoreElements, nextElement and nextElement
 
// Importing required classes
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String args[])
    {
 
        // Input strings
        String mydelim = " : ";
        String mystr
            = "JAVA : Code : String : Tokenizer : Geeks";
 
        // Use of Constructor 2
        // Here we are passing Delimiter - "mydelim"
        StringTokenizer geeks
            = new StringTokenizer(mystr, mydelim);
 
        // Counting no. of tokens present
        // using countTokens() method
        int count = geeks.countTokens();
 
        // Printing no. of tokens present
        System.out.println("Number of tokens : " + count);
 
        //  Condition holds true till there is
        // single token remaining using hasMoreElements()
        // method True if tokens are present
        while (geeks.hasMoreElements())
 
            //  Returning the next token
            // using nextElement() method
            System.out.println(geeks.nextElement());
    }
}
输出
Number of tokens : 5
JAVA
Code
String
Tokenizer
Geeks