用于检查给定字符串中是否存在子字符串的Java程序

子字符串是字符串的一部分,可以检查给定字符串中是否存在特定的子字符串。一个例子如下:

String = The sunset is beautiful

Substring = sunset

该子字符串存在于字符串中。

演示此的程序如下所示-

示例

public class Example {

   public static void main(String args[]) {

      String str = "Apples are red";

      String substr = "are";

      int n1 = str.length();

      int n2 = substr.length();

      System.out.println("String: " + str);

      System.out.println("Substring: " + substr);

      for (int i = 0; i <= n1 - n2; i++) {

         int j;

         for (j = 0; j < n2; j++) {

            if (str.charAt(i + j) != substr.charAt(j))

               break;

         }

         if (j == n2) {

            System.out.println("子字符串出现在字符串的索引位置 " + i);

            return;

         }

      }

      System.out.println("字符串中不存在子字符串");

   }

}

输出结果

String: Apples are red

Substring: are

子字符串出现在字符串的索引位置 7

现在让我们了解上面的程序。

首先,打印字符串和子字符串。证明这一点的代码片段如下所示-

String str = "Apples are red";

String substr = "are";

int n1 = str.length();

int n2 = substr.length();

System.out.println("String: " + str);

System.out.println("Substring: " + substr);

然后使用for循环查找子字符串是否为给定字符串的一部分。如果是,则将其打印出来,并且还指定子字符串在字符串中开始的索引。然后main()函数返回。证明这一点的代码片段如下所示-

for (int i = 0; i <= n1 - n2; i++) {

   int j;

   for (j = 0; j < n2; j++) {

      if (str.charAt(i + j) != substr.charAt(j))

         break;

      }

      if (j == n2) {

         System.out.println("子字符串出现在字符串的索引处" + i);

         return;

      }

   }

}

如果字符串中不存在子字符串,则在for循环结束后将其打印出来。证明这一点的代码片段如下所示-

System.out.println("字符串中不存在子字符串");

以上是 用于检查给定字符串中是否存在子字符串的Java程序 的全部内容, 来源链接: utcz.com/z/321466.html

回到顶部