字符串

时间:2016-09-22 13:00:43

标签: java string

  

好的,现在我知道这个问题已被多次询问并得到了回答,但我刚刚遇到这个问题并编写了这个(可怜的部分)代码而没有从前面的回答中得到任何线索,尽管它是给我正确的输出,我无法判断它是否正确。

public class WordCount 
{
public static void main(String[] args) throws IOException
{
    System.out.println("Enter a String");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String s1= br.readLine();
    s1 = s1+" ";
    String ns = "";
    int count = 0;
    for(int i = 0; i < s1.length(); i++)
    {
        char ch = s1.charAt(i);
        if(ch == ' ')
        {
            //ns = ns+ch;
            count++;
        }
        /*else
        {
            ns = ns+ch;
        }*/
    }
    System.out.println("There are "+count+" words in the string");      
}

}

2 个答案:

答案 0 :(得分:1)

int lineCount = yourString.trim().split("\\s+").length;

split()函数返回一个数组,其中包含通过以指定方式拆分字符串而生成的标记。你拿你的字符串,用空格分割,因为它是一个数组 - 你需要它的长度。这就是计算单词所需的全部内容。 (regex \\s+使函数在每个空格处拆分字符串,即返回包含所有单词的数组。)

编辑:好点托马斯

答案 1 :(得分:-1)

如果你想在没有空格的情况下计算任何字符串的单词。这很容易你的代码有点正确但是我纠正了一些错误..试试这个 显示以下示例。

//correct the code in loop.

// s1 is your string.

for(int i = 0; i < s1.length(); i++)
{


    char ch = s1.charAt(i);

    if(ch != ' ')
    {
        count++;

    }
}
System.out.println(count);