2.6 String练习-字符反转

String反转

/**
 * 将字符串的任意区间的字符反转
 * 例:字符串“abcdef” 反转为 “aedcbf"
 */
public class reserveChar {
    public static void main(String[] args) {
        String str = "abcdef";

//  捕获异常
        try {
            str = reverse(str,4,1);
        } catch (Exception e) {
            System.out.println(e.getMessage());
            return;
        }
        System.out.println(str);

    }
    public static String reverse (String str,int end,int start){

//  验证 捕获错误异常
        if (!(str != null && start >=0 && end <str.length() && end>start)){
            throw new RuntimeException("参数不正确");
        }

//  先将String 转换成char[] ;因为char[]是可交换的
        char [] chars = str.toCharArray();
        char temp = ' ';
        for (int i=start,j=end;i<j;i++,j--){
            temp = chars[i];
            chars[i] = chars[j];
            chars[j] = temp;
        }

//  使用chars 交换后的  重新构建一个String
        return new String(chars);
    }
}
  • 注意:这里 是String字符处理的重点

    //  先将String 转换成char[] ;因为char[]是可交换的
            char [] chars = str.toCharArray();
    
    
    //  使用chars 交换后的  重新构建一个String
            return new String(chars);
    
  • 要将错误情况列举出来 ,不如 先将所有正确的情况写出来,然后再取反

    //  验证 捕获错误异常
            if (!(str != null && start >=0 && end <str.length() && end>start)){
                throw new RuntimeException("参数不正确");
            }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值