1、indexOf() 方法有以下四种形式
public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
2、实现 strStr()函数
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。
方法一:
public class numTest {
public static void main(String[] args) {
String haystack = "hell0";
String needle = "el";
int num = strStr1(haystack, needle);
System.out.println(num);
}
static int strStr1(String haystack, String needle) {
if(needle.isEmpty()){
return 0;
}
return haystack.indexOf(needle);
}
}
方法二:
public class numTest {
public static void main(String[] args) {
String haystack = "hell0";
String needle = "el";
int num = strStr1(haystack, needle);
System.out.println(num);
}
static int strStr(String haystack, String needle) {
if(needle.isEmpty()){
return 0;
}
char[] hay = haystack.toCharArray(); //toCharArray() 方法将字符串转换为字符数组。
int nn = needle.length();
for(int i = 0;i < hay.length;i++){
if ((nn+i) <= hay.length) {
//从字符串中提取一些字符,以0开始,以needle的长度加上i
String substring = haystack.substring(i, nn + i);
//如果截取的字符与needle 相符,就返回 当前下标
if (substring.equals(needle)) {
return i;
}
}
}
return -1;
}
}