Java SE常用类 - String 练习

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

package com.nuo.testString;

/**
 * @author nuo
 * @version 1.0
 * @description: TODO 将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”
 * @date 2021/12/12 0:31
 */
public class testString_10_2 {
    public static void main(String[] args) {
        System.out.println(Method_String_10_2.Method_String_10_2_1(1, 3, "xiao"));
        System.out.println(Method_String_10_2.Method_String_10_2_1(2, 6, "abcdefg"));
        System.out.println(Method_String_10_2.Method_String_10_2_2(1, 3, "xiao"));
        System.out.println(Method_String_10_2.Method_String_10_2_2(2, 6, "abcdefg"));
    }
}

class Method_String_10_2{
    public static String Method_String_10_2_1(int start, int end,String str){
        if (str != null && str.length() != 0){
            int j = start;
            int k = end;
            char[] ch = str.toCharArray();
            for (int i = start; i < ((j + k) / 2 ); i++) {
                char ch_ = ch[start];
                ch[start] = ch[end - 1];
                ch[end - 1] = ch_;
                start ++;
                end --;
            }
            return new String(ch);
        }else {
            return null;
        }
    }

    public static String Method_String_10_2_2(int start, int end,String str){
        if (str != null && str.length() != 0){
//            StringBuilder str_ = new StringBuilder(str.length());
//            str_.append(str.substring(0,start));
//
//            str_.append(new StringBuilder(str.substring(start,end)).reverse());
            for (int i = end - 1; i > start - 1; i--) {
                str_.append(str.charAt(i));
            }
//            str_.append(str.substring(end,str.length()));
//            return str_.toString();
            /**
             * 快乐进化史
             */
            return str.substring(0,start) + new StringBuilder(str.substring(start,end)).reverse() + str.substring(end,str.length());
        }else {
            return null;
        }
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值