字数算法问题

时间:2014-05-06 21:02:10

标签: java string stringbuilder

因此,我正在尝试制作一个字数统计程序,用户可以在其中粘贴文本以获取文本类型的字数以获得字数。打字文本大部分都有用,但有时当我尝试返回并替换文本时,我得到一个字符串索引超出范围错误。粘贴有效,但我也遇到了字符串索引超出范围问题的问题。我的逻辑工作方式如下:空格等于一个单词,两个空格背靠背减去一个单词,字符串的结尾计为一个单词。我对Java比较陌生,我认为这将是一件容易的事,我错了!一些帮助/解释将不胜感激!

 public static int getWordCount(String getInput, int e){
    int numberOfWords = 0;
    char l1 = 0;
    char l2 = 0;
    StringBuilder convertInput = new StringBuilder(getInput);
    System.out.println(convertInput);
    for (int i = 0, i1 = 1; i < getInput.length();i++, i1++){
        l2 = convertInput.charAt(i);
        if (l2 == ' '){
            numberOfWords += 1;
            l1 = convertInput.charAt(i1);
        }
        if (i == getInput.length() - 1){
            numberOfWords += 1;
        }
        if (l2 == ' ' && l1 == ' '){
            numberOfWords -= 1;
        }
    }
    return numberOfWords;
 } // end of getWordCount method 

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式轻松快捷地完成此任务:

String phrase = "word1 word2 word3 word4";
String delims = " "; //u can declare more delims here like delims = " ,.{[]}\"; 
String[] tokens = phrase.split(delims);

tokens.length = number of words in your string