Java 如何检查字符串是否包含关键字?

Java 如何检查字符串是否包含关键字?,java,Java,我正在编写一个程序,要求用户输入关键词和一篇文章,然后检查文章中使用了多少关键词 电流输出: 输入关键字: 狗,猫 输入文章: 我喜欢猫 线程“main”java.lang.RuntimeException中的异常 期望输出: 输入关键字: 狗,猫 输入文章: 我喜欢猫 一, 以下是我目前的代码: static int keywordsChecker(String shortEssay, String keywords) { int count = 0;

我正在编写一个程序,要求用户输入关键词和一篇文章,然后检查文章中使用了多少关键词

电流输出:


输入关键字:

狗,猫

输入文章:

我喜欢猫

线程“main”java.lang.RuntimeException中的异常


期望输出:


输入关键字:

狗,猫

输入文章:

我喜欢猫

一,


以下是我目前的代码:

static int keywordsChecker(String shortEssay, String keywords) {
        int count = 0;

        for (int i = 0; i < keywords.length(); i++) {

            String[] ary = keywords.split(",");

            if (shortEssay.contains(ary)) {
                count++;
            }
            System.out.println(count);


        }
         return count;
    }

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter keywords: ");
        String keyword = input.nextLine();
        System.out.println("Enter essay: ");
        String essay = input.nextLine();
        keywordsChecker(essay, keyword);

    }
static int-keywordsChecker(字符串短文,字符串关键字){
整数计数=0;
对于(int i=0;i
试试这个:

static int keywordsChecker(String shortEssay, String keywords) {
    int count = 0;
    for (String keyword : keywords.split(",")) {
        if (shortEssay.contains(keyword.trim()) {
            count++;
        }
    }
    return count;
}
现在调用该方法时,需要打印返回值:

int count = keywordsChecker(essay, keyword);
System.out.println(count);

您的代码应该如下所示:

static int keywordsChecker(String shortEssay, String keywords) {
    int count = 0;
    String[] ary = keywords.split(",");

    for (int i = 0; i < ary.length; i++) {            

        if (shortEssay.contains(ary[i])) {
            count++;
        }
    }
    return count;
}

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter keywords: ");
    String keyword = input.nextLine();
    System.out.println("Enter essay: ");
    String essay = input.nextLine();
    System.out.println(keywordsChecker(essay, keyword));

}
static int keywordsChecker(String shortEssay, String keywords) {
    int count = 0;
    String[] ary = keywords.split(",");

    for (int i = 0; i < ary.length; i++) {
        if (shortEssay.contains(ary[i])) {
            count++;
        }
    }
    System.out.println(count);    
    return count;
}
static int-keywordsChecker(字符串短文,字符串关键字){
整数计数=0;
字符串[]ary=关键字。拆分(“,”);
对于(int i=0;i
这应该是您的方法:

  • 使用
    关键字拆分关键字。拆分(“,”)
  • 循环遍历步骤#1中获得的关键字数组
  • 检查数组中的每个值是否在
    短文
    字符串中可用,或者是否未使用
    短文.contains(ary[index])
  • 如果可用,则将
    计数
    变量增加1
  • 否则
    继续
    循环
  • 打印和/或返回
    count
    变量

  • 因此,您的
    关键字schecker
    方法如下所示:

    static int keywordsChecker(String shortEssay, String keywords) {
        int count = 0;
        String[] ary = keywords.split(",");
    
        for (int i = 0; i < ary.length; i++) {            
    
            if (shortEssay.contains(ary[i])) {
                count++;
            }
        }
        return count;
    }
    
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter keywords: ");
        String keyword = input.nextLine();
        System.out.println("Enter essay: ");
        String essay = input.nextLine();
        System.out.println(keywordsChecker(essay, keyword));
    
    }
    
    static int keywordsChecker(String shortEssay, String keywords) {
        int count = 0;
        String[] ary = keywords.split(",");
    
        for (int i = 0; i < ary.length; i++) {
            if (shortEssay.contains(ary[i])) {
                count++;
            }
        }
        System.out.println(count);    
        return count;
    }
    
    static int-keywordsChecker(字符串短文,字符串关键字){
    整数计数=0;
    字符串[]ary=关键字。拆分(“,”);
    for(int i=0;i
    静态int关键字Schecker(字符串短文,字符串关键字)
    {
    整数计数=0;
    字符串[]ary=关键字。拆分(“,”);
    for(int i=0;i

    只需调用此方法并获取关键字计数。:)

    这甚至不会编译。迭代关键字数组,并对每个条目执行
    包含
    检查。这是唯一有解释的答案。它在istr.length()在对字符串使用时可以使用
    方法。在我们的示例中,我们使用的是数组,因此请改用
    ari.length
    属性。最好为每个循环使用一个数组,并避免首先(显式)调用
    length