public class StringTest4 {

    //题目4: 将字符串中某个子串反转,并返回新的字符串

    public static void main(String[] args) {
        String str = "inbai.net";

        String s = reverseString(str,0,str.length() -1);

        System.out.println(s);
        //结果:  ten.iabni

    }

    /***
     * 反转
     * @param string 需要反转的字符串
     * @param start 开始位置
     * @param end 结束位置
     * @return
     *
     */
    public static String reverseString(String string, int start, int end) {
        char[] c = string.toCharArray();
        return reverseArray(c, start, end);
    }


    /**
     *
     * @param c
     * @param start
     * @param end
     * @return
     * 原理分析:
     * 把第一个字符和最后一个字符交换位置, 然后,第一个位置向后走1, 最后一个位置向前走1
     *
     *
     */
    public static String reverseArray(char[] c, int start, int end) {
        for (int i = start, j = end; i < j; i++, j--) {
            char temp = c[i];
            c[i] = c[j]; //
            c[j] = temp;
        }
        return new String(c);
    }

}