我的CS课程有一个非常具体的问题。我在字符串中有一个句子,并且我需要将其分隔为ArrayList中的单个单词,并且不能使用split方法。
我的问题是,我对数组的知识为零,而对循环和String语句的知识却最少。我已经做了大量研究,并找到了进行循环并将单词发送到ArrayList的最佳方法,但是我仍然找不到找到使它循环遍历句子并将每个句子分开的好方法个别的词。我很容易做到将第一个单词分开,但是之后我迷路了。我不知道如何使它的其他迭代循环特别是抓住句子中先前得到的单词之后的单词。(注意:导入的唯一实用程序是Scanner,File,HashMap,ArrayList,Random和*)
我正在寻找的是应尝试使用或研究的特定方法的任何技巧。或者也许是一组代码,这些代码在执行与我正在寻找的内容相似的事情时可以起作用,并且可以根据我的代码构建自己的代码。
当您说出“单词”一词(很奇怪)时,我认为它们之间用空格隔开。如果您正在阅读输入,则只需使用Scanner
...然后:
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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句