求解一个很简单的有关问题

求解一个很简单的问题String strmingrikejirsstr.lastIndexOf(i, 4)System.out.println(从第5个

求解一个很简单的问题
String str="mingrikeji";
rs=str.lastIndexOf('i', 4);
System.out.println("从第5个字符后,字符i最后一次出现的位置是:"+rs);
此条执行结果为什么是1啊?
lastIndexOf(ch,startIndex)
不是按指定的搜索起点,搜索指定字符最后一次出现的位置吗? 
"mingrikeji"
第五个是r 
然后以r为起点 之后的为"ikeji"
i最后一次出现的位置怎么是1啊?


[解决办法]
lz看看JDK中String.lastIndexOf(int, int)介绍就会明白了。重点红色部分
返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
[解决办法]
返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
[解决办法]

探讨

lz看看JDK中String.lastIndexOf(int, int)介绍就会明白了。重点红色部分
返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

[解决办法]
1楼正解
Java code
////如果你想实现那种功能,自己写一个方法public class TestLastIndexOf {    public static void main(String[] args) {    String str="mingrikeji";        int position =lastIndexOf( str ,'i', 4);    System.out.println("从第5个字符后,字符i最后一次出现的位置是:"+ position);    }        //返回:从str的第i个字符开始,字符c最后出现的位置    public static int lastIndexOf(String str , char c , int i){    if(str == null ||i<0 || i>=str.length()) return -1;    for(int j=str.length()-1; j>=i;j--) {        if(str.charAt(j) == c) return j;    }        return -1;    }}/*output:从第5个字符后,字符i最后一次出现的位置是:9*/
[解决办法]
这个函数的名称叫的也不错呀。last最后的意思。
建议楼主看API