用于检查给定字符串中是否存在子字符串的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("字符串中不存在子字符串");