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

我如何将一个句子用循环分隔成单个单词,并将它们单独发送到Java的ArrayList中?

方献
2023-03-14

我的CS课程有一个非常具体的问题。我有一个字符串中的句子,我需要在ArrayList中将其分隔成单个单词,并且不能使用split方法。

我的问题是,我没有对数组进行过任何教学,只有对循环和字符串语句的最起码的教学。我做了大量的研究,找到了进行循环并将单词发送到ArrayList的最佳方法,但是我仍然找不到一个好的方法来使它在句子中循环并将每个单词分开。我明白了把第一个单词分开是多么容易,然而在那之后我就迷路了。我不知道如何使循环为它的其他迭代,特别是抓住句子中的下一个词后,它以前得到的。(注意:导入的唯一实用程序是Scanner、File、HashMap、ArrayList、Random和*)

我正在寻找的是任何我应该尝试和使用或研究的具体方法的提示。或者是一组代码,它在做一些类似于我所要做的事情时具有相当的功能,我可以查看这些代码并根据这些代码构建自己的代码。

共有1个答案

华安民
2023-03-14

当你说单词“word”(这很奇怪)的时候,我假设它们是用空格隔开的。如果您正在读取输入,那么只需使用扫描器...然后:

Scanner input = new Scanner(System.in);
ArrayList<String> words = new ArrayList<String>();
for(int i = 0;i<numberOfWord;i++){
   words.add(input.next());// .next() method read data that are separated by space
}

或:

String theLineOfWord;//Given to you

StringTokenizer st = new StringTokenizer(theLinOfWord);//Used to separate words.
ArrayList<String> words = new ArrayList<String>();

while(st.hasMoreTokens()){
    words.add(st.nextToken();
}

或:

public static ArrayList<String> getWords(String line){
        ArrayList<String> words = new ArrayList<String>();
        line += " ";//add a space to ignore the ending case 
        
        while(line.length() != 0) {
            words.add(line.substring(0, line.indexOf(' ')));//add the word to the list
            line = line.substring(line.indexOf(' ') + 1, line.length());//take out the useless string away
        }
        return words;
    }
 类似资料:
  • 我有一个API的正面,我使用邮递员发送一个单一的数字8。 我想用邮递员这样寄 但是现在前面说他们不能在json中发送一个没有键值的单词,我不想创建一个对象只使用一次绑定,我该怎么做呢?

  • 我是Java初学者,目前正在寻找一种基于分隔符(.)将String拆分为子字符串的方法。理想情况下,我有一个句子,然后我想用HTML标记包装每个句子,即<code> 我使用类尝试了以下操作: 这给了一句话。我被困在这里,我也想把每个数字包装成一个句子。 我的字符串包含类似于: 输出应该是: 有可能实现这一点吗?

  • 问题内容: 我想使用PHP将文本拆分成单个单词。你有什么想法要实现吗? 我的方法: 这是一个好方法吗?您有改进的想法吗? 提前致谢! 问题答案: 使用与任何Unicode标点符号匹配的\ p {P}类和\ s空格类。 这将拆分为一组一个或多个空格字符,但也会吸收周围的所有标点符号。它还在字符串的开头或结尾匹配标点符号。这区分了诸如“不要”和“他说’哎呀!’”之类的情况。

  • 问题内容: 我正在尝试编写一个函数来清理用户输入。 我不是要使其完美。我宁愿用小写字母表示一些名称和缩写,也不愿用大写字母表示完整的段落。 我认为该函数应使用正则表达式,但是我对这些表达式很不好,需要一些帮助。 如果以下表达式后跟一个字母,我想将该字母大写。 更好的是,该函数可以在“。”,“!”之后添加一个空格。和“?” 如果这些后面跟有一封信。 如何做到这一点? 问题答案: 由于PHP 5.5.

  • 我已经阅读了这里给出的详细描述-http://nlp.stanford.edu/software/crf-faq.shtml#a基于标签输入文件的模型训练。道具文件。但是文章说- 我的文本语料库中有一些空格分隔的单词,这些单词组合在一起形成一个标记,而不是单个单词。例如,“莱特州立大学”是一个单一的象征,尽管莱特、州立大学和大学是单独的实体。我想用上面的标记生成一个模型。文章说,生成模型的输入文件

  • 我正在尝试编写一个java程序,它可以反转句子中的每个单词。例如,如果句子是“Hello World.Hello Java”,输出应该是“olleH dlroW.olleH avaJ”。我可以反转,但我得到的输出是“olleH.dlroW olleH.avaJ”,即使是圆点也会反转,这是不应该发生的。谁能帮我修一下吗? 谢谢你!! 我试过这样的方法: 预期输出:olleH dlro. olleH