public static void main(String args[]) {
        String str = "1256789";
        String qq[] = str.split("");
        ArrayList list = new ArrayList();
        for (int i = 0; i < qq.length; i++)
            list.add(qq[i]);
        list.remove(0);
        list.add(2, new String("3"));
        list.add(3, new String("4"));
        Iterator it = list.iterator();
        for (Iterator iter = list.iterator(); iter.hasNext();) {
            String str1 = (String) iter.next();
            System.out.println(str1);
        }
    }

解决方案 »

  1.   

    可以这样,很简单的    public static void main(String[] args)
        {
            StringBuffer s = new StringBuffer("1256789");
            System.out.println(s);
            s.insert(2,"34");
            System.out.println(s);
        }
      

  2.   

    那把字符串的字符一个一个取出来,转化成数字,比较获得其中的最大值(比如你例子中的9)和最小值(比如你例子中的1)
    后面就用个for循环把缺掉的数字全补上
    String oldStr="125789";
        int min=10, max=0;
        for (int i = 0; i<oldStr.length()-1; i++){
         int nn=Integer.parseInt(oldStr.substring(i,i+1));
         if (min > nn) min=nn;
         if (max < nn) max=nn;
        }
    String result="";
    for( int i=min; i<=max; i++)
       result=result+String.valueOf(i);
      

  3.   

    为什么要remover(0)  他才会显示正确答案
      

  4.   

    为什么要remover(0)  他才会显示正确答案
    =========
    String qq[] = str.split("");进行这句后,第一个元素为“”