String s ="java is a"+"platform independent language";
System.out.println("index of t="+s.indexOf('t'));//12
System.out.println("last index of t="+s.lastIndexOf('t')); //27
System.out.println("index of(t,10)="+s.indexOf('t',10)); //12 为什么不是2呢,请指教
System.out.println("last index of(t,60=)"+s.lastIndexOf('t',60)); //27 这里也搞不懂为什么是这个结果
请大家赐教,非常感谢。

解决方案 »

  1.   

    他们返回的结果都是从起始位置开始算起的  懂了么?比如023451234   你从0开始返回第一个1的index是5  而你从5开始返回第一个1的index也是5  这是相对于整个字符串而言的
      

  2.   

    而且不论你从后面找还是从前面找  都是从前面来统计这个字符的index的  
      

  3.   

    idexOf(char) indexOf(string,int),都是首次出现的地址,结果是一个整型。
      

  4.   

    非常感谢你们,前面的都搞懂了,但是这个从第60个开始找,这个字符串根本没有那么长,这个是这么算的呢。
    System.out.println("last index of(t,60=)"+s.lastIndexOf('t',60)); //27 这里也搞不懂为什么是这个结果