自定义方法来反转指定部分的字符串

将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”

public static void reverse(String s,int start,int end){
if (s.length() != 0){ //判断字符串是否为空
char[] sub = s.substring(start-1,end).toCharArray();//获取需要反转字符串序列

        for (int i = 0; i < sub.length; i++) {//循环修改原本字符串
            char j = s.charAt(--end);

            s = s.replace(j,sub[i]);

        }
        System.out.println(s);
    }
}

运行结果:abfeefg

我想要达到的结果:abfedcg


public static void reverse(String s, int start, int end) {
        if (s.length() != 0) { // 判断字符串是否为空
            char[] sub = s.substring(start - 1, end).toCharArray(); // 获取需要反转字符串序列

            char[] rev = new char[sub.length]; // 创建一个新的字符数组,用于存放反转后的字符串序列

            for (int i = 0; i < sub.length; i++) {
                rev[i] = sub[sub.length - i - 1]; // 将反转后的字符串序列存放到新的字符数组中
            }

            s = s.substring(0, start - 1) + new String(rev) + s.substring(end); // 将反转后的字符串序列拼接到原字符串序列中

            System.out.println(s);
        }
    }

s = s.replace(j,sub[i]);
你在搞笑吗,你这一替换,可不管它在前面在后面,就把所有的字符都替换了
老老实实的用数组做
或者字符串拼接
别老想图省事