如何计算字符串形式的句子的字数?我们只能使用以下字符串:for
循环,if
语句,while
,charAt
与length()
.
我写了这段代码:
public static int getWordCount()
{
String data = "bla bla bla bla";
int Count = 0;
for (int i=0; i<data.length(); i++)
{
if (data.charAt(i) != ' ')
Count ++;
}
return Count;
}
但它只计算字母而不计算单词。
8条答案
按热度按时间smdnsysy1#
这里有一个建议:计算
' '
的个数并加上1?示例:
如果你想更有趣,你可以保留一个布尔变量,比如
lastWasSpace
,当遇到空格时设置为true,当遇到非空格字符时设置为false。如果你只在lastWasSpace
为false时递增Count
,你也可以处理带有多个连续空格的字符串。fslejnso2#
给定的代码确实会计算字母而不是单词。您可能需要将条件更改为:
这意味着,如果你找到一个空格,这将标记下一个单词的开始。而且,最后一个单词将不被计算在内,所以你应该返回
Count+1
而不是Count
。我在这里做了几个假设:
1.单词之间将正好有一个空格。
1.不会有任何前导或尾随空格。
要考虑单词之间的多个空格,您需要稍微修改代码。检查某个字符是否为空格,而不是检查某个字符是否为非空格,以及第一个单词的前一个字符是否为空格。这也将处理前导空格和尾随空格。
i7uq4tfw3#
avwztpqn4#
请注意,使用
trim
来处理周围的空白。nc1teljy5#
使用下面的代码计算行中的单词数,
ffvjumwh6#
我的解决方案:
ippsafx77#
中 的 每 一 个
上面 这 段 代码 是 计算 字符 串 中 的 单词 数 , 所以 我 首先 要 知道 的 是 字符 串 的 长度 , 然后 我们 做 if 条件 , 如果 i 在 index 中 等于 space , 同时 必须 在 space 后 的 字母 不 等于 space 的 地方 给 counter 加 1
如果 字符 串 为 空 , 则 计数 器 应为 零 。
6kkfgxo08#