StringTokenizer stuff = new StringTokenizer("abc,def,ghi",","); System.out.println(stuff.nextToken()) 和StringTokenizer stuff = new StringTokenizer("abc,def,ghi"); System.out.println(stuff.nextToken()) 的输出分别是什么
时间: 2024-04-21 07:29:45 浏览: 147
第一个输出结果是 "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"。
import java.util.StringTokenizer; public class E { public static void main(String args[ ]) { String s ="we are students(hello)"; StringTokenizer fenxi = new StringTokenizer(s," ()"); int m = fenxi.countTokens(); s = fenxi.nextToken(); s = fenxi.nextToken(); int n = fenxi.countTokens(); System.out.printf("%d:%d:%s",m,n,s); //【代码】 } }
在这个程序中,定义了一个字符串`s`,并使用`StringTokenizer`对其进行了分析。分隔符包括空格和括号,所以`s`被分隔成了四个部分:we、are、students和hello。其中,`s`被赋值为`we`和`are`之后,`n`的值为2,`s`的值仍为`are`。
最后,使用`printf()`方法输出了三个值:`m`、`n`和`s`。`m`的值为4,即`s`被分隔成了4个部分;`n`的值为2,即`s`除去前两个部分(即`we`和`are`)后,还有2个部分;`s`的值为`are`,即前面已经将`s`赋值为`are`。
阅读全文