首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数单词功能没有给出正确的答案

数单词功能没有给出正确的答案
EN

Stack Overflow用户
提问于 2014-09-12 02:21:54
回答 2查看 65关注 0票数 0

我正在写一个计数词函数,但是每次只有一个字母时,它不会计算句子中的第一个单词。最小输入和最大输入用于单词所能达到的最大字符和最小字符。任何帮助或建议都会很棒。

代码语言:javascript
复制
public static int countWords (String word, int min, int max)
{
    int WordCount = 0;
    int CharacterCount = 0;
    int StringLength = word.length();
    int n = 0;

    while (StringLength > 0)
    {
        if (Character.isLetter(word.charAt(n)))
        {
            CharacterCount = CharacterCount + 1;
        }
        else
        {
            if (CharacterCount >= min && CharacterCount <= max)
            {
                WordCount = WordCount + 1;
            }
            else
            {
                WordCount = WordCount;
            }
        CharacterCount = 0; 
        }
    n = n + 1;  
    StringLength = StringLength - 1;
    }
return WordCount;   
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-12 02:35:02

删除不必要的another块,并在while循环的末尾添加另一个if。问题是最后的单词没有被正确地计算出来。

代码语言:javascript
复制
public class WordCount {

    public static int countWords (String word, int min, int max)
    {
        int WordCount = 0;
        int CharacterCount = 0;
        int StringLength = word.length();
        int n = 0;

        while (StringLength > 0)
        {
            if (Character.isLetter(word.charAt(n)))
            {
                CharacterCount = CharacterCount + 1;
            }
            else
            {
                if (CharacterCount >= min && CharacterCount <= max)
                {
                    WordCount = WordCount + 1;   
                }
                CharacterCount = 0;
            }
            n = n + 1;  
            StringLength = StringLength - 1;
        }
        if ( CharacterCount > 0 ) {
            WordCount++;
        }

        return WordCount;   
    }

    public static void main(String[] args) {
        System.out.println( countWords("a b c", 1, 1) );
        System.out.println( countWords("This is a string", 1, 100) );
    }
}
票数 0
EN

Stack Overflow用户

发布于 2014-09-12 02:32:30

如果输入只是一个字符,并且实际上是一个字母,那么您将只输入第一个If语句,将CharacterCount设置为1。

WordCount仍将保持在0

else是必要的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25799765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档