字数在Java上

Osh*_*rib 2 java for-loop

如何计算以字符串形式给出的句子的单词?我们只允许使用下列内容: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;
}
Run Code Online (Sandbox Code Playgroud)

但它只计算字母而不是单词.

aio*_*obe 9

这是一个建议:计算数量' '并加1?

例:

"bla bla bla bla"
    1   2   3      : 3 + 1   = 4

"hello"
                   : 0 + 1   = 1
Run Code Online (Sandbox Code Playgroud)

如果你想得到想象,你可以保留一个名为类似的布尔变量lastWasSpace,在运行到空间时将其设置为true,在遇到非空格字符时将其设置为false.如果只增加Countwhen lastWasSpace为false,那么你也可以处理多个连续空格的字符串.

             "bla    bla      bla"
                 1      2             : 2 + 1 = 3
lastWasSpace: FFFFTTTFFFFTTTTTFFFF
Run Code Online (Sandbox Code Playgroud)

  • 如果有两个单词被多个空格分隔会发生什么? (2认同)
  • 在这方面更新了我的答案. (2认同)