当前位置: 首页 > 知识库问答 >
问题:

无法使用StringTokenizer获取所有令牌元素

百里俭
2023-03-14

我尝试用“拆分字符串,”使用StringTokenizer但不能获得整个值,令牌计数显示3但只打印两个元素,如果我尝试使用其他两个输入“ravi,Tuti,786”-相同的输出“ravi,Tuti,786,pincode”获得三个令牌而不是最后一个,我添加了下面的代码

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());
        for(int i=0;i<=stk.countTokens();i++){
        System.out.println(stk.nextToken());}
}
}

输出为

3
Ravi
Tuti

共有1个答案

施季
2023-03-14

使用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());
     }

   }
}

您的方法的问题是在for循环中运行CountTokens,该循环在调用NextToken后发生变化。

如果要使用for循环,则需要将令牌计数保存到变量中:

int numTokens = stk.countTokens();
for (int i = 0; i < numTokens; i++) {
  System.out.println(stk.nextToken());
}
 类似资料:
  • 目前访问类型处于联机状态。当我需要访问驱动器上的文件/文件夹时,我将浏览器重定向到Google URL并获得访问代码: 一切运转良好!但我只需要第一次重定向。 当我谷歌时,在google Drive API文档中,我发现我可以通过浏览器重定向获得刷新令牌,并将其保存在数据库中。(换句话说,我可以使用脱机访问)。 而且每次当我需要从google drive读取数据时,我使用刷新令牌获得访问令牌,而无

  • 我有一个ANTLR4语法,用于语法高亮显示的方法。当用户更改文本时,该方法被触发并生成CommonTokenStream。当我调用GetTokens()时,我只得到一些预期的令牌。当我调用Consume()时,我会得到更多,但不是全部。如何获取文本中的所有令牌?

  • 我正在学习一个教程,即http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ 但我无法获取令牌,我的服务类也无法工作。请帮忙

  • 我试图使用从Spring应用程序中的公共客户端获取访问令牌。 谁能帮我弄清楚我做错了什么吗?

  • 问题内容: 我有以下2个表t1,t2 我在跑步 结果: 在运行脚本时: 结果: select 应该返回所有列,所以,为什么当我使用select 时却没有得到2行? 注意:我正在使用Mysql 问题答案: 正如文档所说: 自然连接和使用USING的连接(包括外部连接变体)将根据SQL:2003标准进行处理: NATURAL连接的冗余列不会出现。考虑以下这组语句: 列j在USING子句中命名,并且在输

  • 我正在尝试获取一个令牌,以调用microsoft graph,并使用Angular检索已登录用户的个人资料图片。我正在使用“@azure/msal-angular”库通过azure AD进行身份验证。我有Microsoft Graph的API权限设置-User.Read在我的应用程序中,但是,我总是收到一个错误,我的应用程序需要只有管理员才能授予的访问权限。我的假设是,我需要创建一个客户端机密,但