Java 我如何计算用户输入的关键词在文章中使用了多少次。它不';t检查整个关键字 公共静态int关键字schecker(字符串文章,字符串键){ 整数计数=1; 字符串[]k=key.split(“,”); 对于(inti=0;i

Java 我如何计算用户输入的关键词在文章中使用了多少次。它不';t检查整个关键字 公共静态int关键字schecker(字符串文章,字符串键){ 整数计数=1; 字符串[]k=key.split(“,”); 对于(inti=0;i,java,Java,要考虑到搜索的每个关键字可能会出现不止一次,并且要计算这些出现的次数,您可以在for循环中使用: public static int keywordsChecker(String essay,String key) { int count = 1; String[] k=key.split(","); for (int i = 0; i < k.length-1; i++) { if (essay.contains(k[

要考虑到搜索的每个关键字可能会出现不止一次,并且要计算这些出现的次数,您可以在for循环中使用:

public static int keywordsChecker(String essay,String key) {
    int count = 1;

    String[] k=key.split(",");

    for (int i = 0; i < k.length-1; i++) {            

        if (essay.contains(k[i])) {    
            count++;
        }

    }

    return count;
}

代码中还有几个其他问题:我认为您需要将
count
初始化为0(而不是1)。要同时计算
key
中的最后一个关键字,您的
for
循环应该是
for(int i=0;i
(不从
k.length
中减去1)。如果您愿意,请使用
是,它有一个分隔符。这是本文。为什么
k.length-1
?您需要具体举例说明,输入的内容以及匹配字符串和预期输出是什么?为什么拆分关键变量?阅读:然后解决您的问题。
        int indexOfOccurrence = essay.indexOf(k[i]);
        while (indexOfOccurrence > -1) {
            count++;
            indexOfOccurrence = essay.indexOf(k[i], indexOfOccurrence + 1);
        }