程序是这样的
public class chun{
    public static void main(String args[ ]){
       String tom="I am a good cat";
     System.out.println(tom.indexOf("a"));
     System.out.println(tom.indexOf("good",2));
     System.out.println(tom.indexOf("a",7));
     System.out.println(tom.indexOf("w",2));
    }
}
结果是:
2
7
13
-1
可是第一个输出的时候,a不是处在了第三的位置上么?怎么输出的是2呢?

解决方案 »

  1.   

    I am a good cat
    0123456789....LZ要记得从0开始数
      

  2.   

    嗯嗯,对哦,谢谢提醒了哦
    那下面我用这个输出System.out.println(tom.trim());为什么得到的结果是"I am a good cat"还是没有去掉空格的嘞??
      

  3.   


    trim不会去掉中间的空格,去掉头部和尾部的空格。
      

  4.   

    引用 1 楼 lacus87 的回复:
    I am a good cat
    0123456789....LZ要记得从0开始数
    嗯嗯,对哦,谢谢提醒了哦
    那下面我用这个输出System.out.println(tom.trim());为什么得到的结果是"I am a good cat"还是没有去掉空格的嘞??String 类型的trim是去掉字符串开头和结尾的空格,而不是中间的空格,建议经常看一下Java API~~
      

  5.   

    String.indexOf -- 返回位置 0 开始,没找到 -1 ;
      

  6.   

    String tom="I am a good cat";
                0123456789
      

  7.   

    I am a good cat
    0123456789...依次类推       
      

  8.   

    我决定你应该在手边放一个java API 文档,随时的查,有什么不懂都可以马上查到!!节约时间又提高学习的效率!!