StringTokenizer的nextToken
时间: 2024-03-04 19:51:40 浏览: 97
nextToken()是StringTokenizer类的一个方法,用于获取下一个子字符串。它会从当前指针位置开始,找到下一个分割符号,把该分割符号前面的字符串作为子字符串返回,并将指针移动到该分割符号后面。如果没有找到分割符号,则返回剩余的字符串。如果已经没有剩余的字符串,则抛出NoSuchElementException异常。可以通过hasMoreTokens()方法来判断是否还有更多的子字符串。
相关问题
StringTokenizer stuff = new StringTokenizer("abc,def,ghi",","); System.out.println(stuff.nextToken()) 和StringTokenizer stuff = new StringTokenizer("abc,def,ghi"); System.out.println(stuff.nextToken()) 的输出分别是什么
第一个输出结果是 "abc",第二个输出结果也是 "abc"。
原因是,第一个语句中的StringTokenizer构造函数传入了分隔符为逗号的参数,所以 "abc,def,ghi" 会被分成三个部分 "abc", "def" 和 "ghi",调用nextToken()方法返回第一个部分 "abc"。
而第二个语句中的StringTokenizer构造函数没有传入分隔符参数,所以默认的分隔符是空格,因为 "abc,def,ghi" 中没有空格,所以整个字符串被当作一个部分,调用nextToken()方法也会返回整个字符串 "abc,def,ghi" 的值。
public class java2 { public static void main(String[] args) {StringTokenizer st1,st2; String q2="Twpr 1122 2211"; st1=new StringTokenizer(q2); System.out.println("1、 "+st1.nextToken()); System.out.println("2、 "+st1.nextToken()); System.out.println("3、 "+st1.nextToken());
这段代码的输出结果是:
```
1、 Twpr
2、 1122
3、 2211
```
这是因为 `StringTokenizer` 类会按照默认的分隔符(空格、制表符、换行符、回车符等)将字符串 `q2` 分割成多个子字符串,并将这些子字符串存储在一个队列中。通过调用 `nextToken()` 方法,可以依次取出队列中的子字符串。在这个例子中,第一个子字符串是 "Twpr",第二个是 "1122",第三个是 "2211"。
阅读全文