我有一个布尔方法正在对字符串进行一些错误检查。
我有一个称为“ numWords”的int类常量= 8。
我将字符串传递到boolean方法中,在其中使用.split和.length对字符串进行单词计数。
称为“单词”的整数计算字符串中单词的数量。
完成此操作后,我想执行一个if语句,将单词与numWords进行比较。
如果数量相等,则返回true,否则返回false。
我试过==和.equals,但没有任何效果。有任何想法吗?

public static final int numWords = 8;

boolean test = true;
String sentence = "I am a man";
test = check(sentence);

public static boolean check (String sentence) {
    boolean x = true;
    String[] s = sentence.split(" ");
    int words = s.length;

    if (words == numWords) {
        x = true;
    }
    else {
        x = false;
    }
    return x;

}


我尝试过==,它永远不会评估为false

我已经尝试过.equals,不能取消引用int

我试过=,不编译不兼容的类型

我想要的是如果words = 8,那么它等于numWords并返回true。
如果单词是7或9,则它不等于numWords并返回false。

最佳答案

我猜测您真正想要的是返回一个布尔值而不是分配一个布尔值。

public static boolean check (String sentence) {

    String[] s = sentence.split(" ");
    int words = s.length;

    return words == numWords
}

07-24 09:33