我试图编写一种方法,该方法从“ words”参数返回的单词数至少为“ min”但不超过“ max c”个字符。

public static int countWords(String words, int min, int max)
{
    Scanner s = new Scanner (words);
    int counter = 0;

 while  (s.hasNext())
    {
    String word = s.next();
    int wordLength = word.length();
    if (wordLength>min && wordLength<max)
    {
        counter= counter + 1;
        s.close();
        }
    }
    return counter;
}

最佳答案

根据我对您的了解,您希望计算指定了max和min的单词

例如,

"The rain in Spain falls mainly in the plain", 3, 5是返回值5,因为它们是3个5和2个3

您的代码很正常,除了这部分需要对其逻辑进行一些更改

if (wordLength>min && wordLength<max)


根据我从您的问题中了解到的信息,您想要单词的长度最小或最大

结果,您必须对此if语句进行更改

if (wordLength == min || wordLength == max) {


说明:单词的长度等于最小长度或最大长度,将添加计数器

10-06 09:01