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

StringTokenizer只存储第一个令牌?

呼延晋
2023-03-14
      Scanner s = new Scanner(System.in);
      System.out.println("ENTER STRING:");
      text = s.next();
      StringTokenizer str = new StringTokenizer(text," ");
      System.out.println(str.countTokens());
      while(str.hasMoreTokens())
       { System.out.println(str.nextToken()); }

共有1个答案

缪兴腾
2023-03-14

您的问题不在于StringTokinizer。就在这里:

    text = s.next();

您的扫描仪也在空格中分隔。所以上面一行只读第一个单词hi。这就是为什么记号器只包括这个词。

解决方案是使用扫描器的NextLine方法。它读取完整的输入行。

    Scanner s = new Scanner(System.in);
    System.out.println("Enter string:");
    String text = s.nextLine();
    String[] tokens = text.split(" ");
    System.out.println(tokens.length);
    for (String t : tokens) {
        System.out.println(t);
    }
Enter string:
Hi welcome to java
4
Hi
welcome
to
java
 类似资料:
  • 我需要传递两种不同的数据类型,一种是食物对象,另一种是整数。 我将这些作为食物对象及其各自的数量传递给餐馆类方法来准备订单。我应该用这些属性创建另一个类,还是有其他方法?

  • 我查阅了许多存储库设计模式教程,如 https://asperbrothers.com/blog/implement-repository-pattern-in-laravel/ https://www.larashout.com/how-to-use-repository-pattern-in-laravel https://laravelarticle.com/repository-desig

  • 我有一个角应用程序使用Firebase存储存储用户上传的照片文件。在用户上传一个文件之后,我调用getDownloadURL()(返回Observable)以获得完整的公共URL路径。我希望将URL字符串存储在Firestore数据库中,以便将其绑定到img html元素src属性,以便在web页面上显示。这将使我不必调用存储API来一个接一个地异步获取每个图像URL。 这个URL在查询字符串中包

  • 问题内容: var textTitle = “this is a test” var result = textTitle.replace(‘ ‘, ‘%20’); 但是替换功能在“”的第一个实例处停止,我得到了 结果: 任何关于我哪里出问题的想法都确保它很简单。 问题答案: 您需要在那里,像这样:

  • 问题内容: 我一直在阅读一些Redis文档,并在http://try.redis-db.com/上尝试了该教程。到目前为止,我看不到Redis和诸如Velocity或Enterprise Library Caching Framework之类的缓存技术之间的任何区别。 您实际上只是在使用唯一键将对象添加到内存数据存储中。似乎没有任何关系语义… 我想念什么? 问题答案: 不,Redis不仅仅是缓存。

  • 实际上,您只是使用唯一键将对象添加到内存中的数据存储中。似乎没有任何关系语义... 我错过了什么?