gpt4 book ai didi

java - 当某些单词位于同一行时计算 ArrayList 中的单词数

转载 作者:行者123 更新时间:2023-12-01 22:19:57 25 4
gpt4 key购买 nike

我正在尝试计算 ArrayList 包含多少个单词。如果每个单词都在单独的行上,但有些单词在同一行上,我知道该怎么做,例如:

hello there
blah
cats dogs

所以我想我应该遍历每个条目并以某种方式找出当前条目包含多少个单词,例如:

    public int numberOfWords(){
for(int i = 0; i < arraylist.size(); i++) {
int words = 0;
words = words + (number of words on current line);
//words should eventually equal to 5
}
return words;
}

我的想法对吗?

最佳答案

您应该在循环之外声明并实例化 int Wordsint 在循环的每次迭代期间不会重新分配。您可以使用 for..each 语法循环遍历列表,这将消除从列表中 get() 项目的需要。要处理一行上的多个单词,请拆分String放入Array中,并对Array中的项目进行计数。

public int numberOfWords(){
int words = 0;
for(String s:arraylist) {
words += s.split(" ").length;
}
return words;
}

完整测试

public class StackTest {

public static void main(String[] args) {
List<String> arraylist = new ArrayList<String>();
arraylist.add("hello there");
arraylist.add("blah");
arraylist.add(" cats dogs");
arraylist.add(" ");
arraylist.add(" ");
arraylist.add(" ");

int words = 0;
for(String s:arraylist) {
s = s.trim().replaceAll(" +", " "); //clean up the String
if(!s.isEmpty()){ //do not count empty strings
words += s.split(" ").length;
}
}
System.out.println(words);
}
}

关于java - 当某些单词位于同一行时计算 ArrayList 中的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16210735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com