编写一个完整的过程,将一个字符串插入到另一个字符串的某个位置后面(例如:将“abc”插入到“abcdef”的第三个字符位置后面,结果为“abcabcdef”)。(注:不能用该程序语言的内置函数或过程)。
 
 说下思路就可以了。用java。多谢

解决方案 »

  1.   

    "abcdef".substring(0, 3).concat("abc").concat("abcdef".substring(3))
      

  2.   


    还问个问题,contact和“+”有啥区别啊?
      

  3.   

    没什么区别,这个问题用加就可以了,用api提供方法也可以
      

  4.   

    把字符串用BufferString类来写效率更高。方法自己查API,很简单的现成的答案
      

  5.   


    public static void main(String args[]) {
    String str = "abcdef";
    String addStr = "uuu";
    String strTemp = "";
    String newStr = "";
    int addPoint = 3;
    char[] c = str.toCharArray();
    for (int i = 0; i < addPoint; i++) {
    strTemp += c[i];
    }
    newStr = strTemp + addStr;
    strTemp = "";
    for (int i = addPoint; i < c.length; i++) {
    strTemp += c[i];
    }
    newStr += strTemp;
    System.out.println(newStr);
    }
      

  6.   


    随手写了个,注意数组下标,哈哈package com.longweir.jdk5;public class StringAdd { /*
     * 将字符串插入到目标字符串的某一个位置后面
     *  @param args 源字符串
     *  @param args2 被插入的字符串 
     *  @param index 源字符串的索引位置 
     *  @return 返回插入字符串后的新的字符串 
     *  @throws ArrayIndexOutOfBoundsException异常
     */
    public String StrCombination(String args, String args2, int index) throws ArrayIndexOutOfBoundsException {
    if (null != args && null != args2) { int flag = index;
    char[] srcArray = args.toCharArray();
    char[] tarArray = args2.toCharArray();
    char[] resultArray = new char[srcArray.length + tarArray.length]; // 拷贝字符串前面的
    for (int i = 0; i < index; i++) {
    resultArray[i] = srcArray[i]; // 赋值
    } // 插入字符串数组的值
    for (int k = 0; k < args2.length(); k++, index++) {
    resultArray[index] = tarArray[k];
    } int temp = flag + tarArray.length;
                           
                            //拷贝截断的
    for (int j = temp; j < resultArray.length; j++, flag++) {
    resultArray[j] = srcArray[flag];
    } return String.valueOf(resultArray);
    }
    return null;
    } //测试下
    public static void main(String args[]) {
    StringAdd s = new StringAdd();
    String str = s.StrCombination("abcdef", "abc", 3);
    System.out.println(str);
    }        //output: abcabcedf}
      

  7.   

    也就是考试 会考这样的。。方法楼上都说的差不多了。。若是没有限制 也可以这样写,大家相互交流下
    String str1 = "abcdefg",str2 = "1234",str3 = str1.substring(2,5);
            System.out.println( str1.replaceAll( str3, str2 ) );
    //输出:ab1234fg