学習目標:
目標:Javaで学んだ知識を上手に活用する
主題の内容:
この記事の内容:Javaで実装:実装メソッドには、文字列に部分文字列が含まれているかどうかを判別できるが含まれています
記事のディレクトリ
問題解決のアイデア:
この問題を解決するには、以前のブログ
https://blog.csdn.net/zhangxxin/article/details/112975089のアイデアを使用することもできます
。2つの方法もありますが、戻り値の型が変更されています。具体的なアイデアは次のとおりです。前の記事でも。詳細に説明されています。
実装コード:
- 方法1:
public class Practice_03 {
public static void main(String[] args) {
//实现方法 indexOf, 能够找出字符串子串存在的位置
String str="Hello world";
System.out.println( indexOf(str,"wor"));
}
public static boolean indexOf(String str, String s) {
for (int i = 0; i < str.length(); i++) {
int count = 0;
if ((String.valueOf(s.charAt(0))).equals(String.valueOf(str.charAt(i)))) {
//找到s中第一个元素在str中出现的位置
String str1=new String(str.substring(i,(i+s.length())));
if(str1.equals(s)){
return true;
}
}
}
return false;
}
}
//运行结果
true
- 方法2:
public class Practice_03 {
public static void main(String[] args) {
//实现方法 contains, 能够判定字符串中是否包含子串
String str = "Hello world";
System.out.println(indexOf(str, "wor"));
}
public static boolean indexOf(String str, String s) {
for (int i = 0; i < str.length(); i++) {
int count = 0;
if ((String.valueOf(s.charAt(0))).equals(String.valueOf(str.charAt(i)))) {
//找到s中第一个元素在str中出现的位置
int m = i;
for (int j = 0; j < s.length(); j++) {
if ((String.valueOf(s.charAt(j))).equals(String.valueOf(str.charAt(m++)))) {
//判断i位置开始后,长度为s的每一个字符是否与s中的每一个字符相等
count++;
}
if (count == s.length()) {
return true;
}
}
}
}
return false;
}
}
//运行结果
true