java种String类的indexof方法

public class StringIndexOf {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="abcdefg";
System.out.println(s.indexOf("a", 1));
}

}
为什么输出的是-1??

s.indexOf("a", 1) 这行的意思是 从字符串s里寻找字母a的位置,但寻找的时候要从s的索引为1的位置开始,这就是第二个参数1的作用,由于索引是从0开始的,这样实际寻找的时候是从字母b开始的,这样肯定就找不到a了,所以输出了-1,-1的意思就是没有找到。说的有点啰嗦
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-05
你写的s.indexOf("a", 1)表示从第一个索引开始字符串“a”的位置,而“a”在第0个位置,没有找到所以返回-1. 要是写成s.indexOf("a", 0)就返回0了!
第2个回答  2011-04-05
indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
如果找不到则返回 -1
第3个回答  2011-04-05
s.indexOf("a", 1)表示从 s中元素b开始找元素a,然后返回它第一次出现的索引,后面没找到,所以返回-1
第4个回答  2018-03-23
indexOf(String str, int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。这里从b开始,因此找不到a,则返回 -1。
相似回答