例如:字符串:“C#如何实现在制定字符串中查找一个字符串的位置?C#如何实现在制定字符串中查找一个字符串的位置”
      查询字符串:“串”的所有位置
      结果:11 19 35 43用int indexOf(String str)只能查询到第一个“串”的位置,后面的就没有了
应该用Striing类的那个方法才能实现上面例子要求的功能?

解决方案 »

  1.   

    你需要返回什么呢?一个索引数组??
    可以使用一个ArrayList
    int i=str.indexOf("a",i) 
    找到后添加到ArrayList,然后递归调用
      

  2.   


    /**
     * @param args
     */
    public static void main(String[] args) { String str = "C#如何实现在制定字符串中查" + "找一个字符串的位置?C#如何实现在制"
    + "定字符串中查找一个字符串的位置"; for (int i = 0; i < str.length(); i++) { if(new Character('串').equals(str.charAt(i)))
    {
    System.out.println(i);
    }
    }
    }
      

  3.   

    或者 这样  也可以/**
     * @param args
     */
    public static void main(String[] args) { String str = "C#如何实现在制定字符串中查" + "找一个字符串的位置?C#如何实现在制"
    + "定字符串中查找一个字符串的位置"; for (int i = 0; i < str.length(); i++) { if(Character.valueOf('串').equals(str.charAt(i)))
    {
    System.out.println(i);
    }
    }
    }
      

  4.   

    public void print(String temp, int startIndex) {
    int index = temp.indexOf("串", startIndex);
    if (index != -1) {
    System.out.println(index);
    print(temp, index + 1);
    }
    } String temp = "C#如何实现在制定字符串中查找一个字符串的位置?C#如何实现在制定字符串中查找一个字符串的位置";
    PaperTest t = new PaperTest();
    t.print(temp, 0);
      

  5.   


    public static void main(String[] args) throws Exception{
       String str = "C#如何实现在制定字符串中查找一个字符串的位置?C#如何实现在制定字符串中查找一个字符串的位置";
       int index = str.indexOf("串");
       while(index!= -1){
       System.out.print(index+"\t");
       index = str.indexOf("串",index + 1);
       }
    }