3 回答
TA贡献1840条经验 获得超5个赞
使用hasMoreTokens()有nextToken:
public class Tokenizer{
public static void main(String[] args){
String str = "Ravi,Tuti,786";//survival of fittest,journey to get job,update skill,try,get job";
StringTokenizer stk = new StringTokenizer(str,",");
System.out.println(stk.countTokens());
while (stk.hasMoreTokens()) {
System.out.println(stk.nextToken());
}
}
}
您的方法的问题在于您正在循环中运行countTokens,在调用for后nextToken会发生变化。
如果要使用for循环,则需要将令牌计数保存到变量中:
int numTokens = stk.countTokens();
for (int i = 0; i < numTokens; i++) {
System.out.println(stk.nextToken());
}
TA贡献1798条经验 获得超3个赞
你应该使用hasTokens()方法。
for( ; stk.hasMoreTokens() ; ) {
System.out.println(stk.nextToken());
}
添加回答
举报