zoukankan      html  css  js  c++  java
  • Java 练习(将字符串中指定部分进行反转)

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

    package com.klvchen.exer;
    
    import org.junit.Test;
    
    public class StringDemo {
        /*
        将一个字符串进行反转。将字符串中指定部分进行反转。比如"abcdefg"反转为"abfedcg"
    
        方式一: 转化为 char[]
         */
        public String reverse(String str, int startIndex, int endIndex){
    
            if (str != null && str.length() != 0){
                char[] arr = str.toCharArray();
                for (int x = startIndex, y = endIndex; x < y; x++, y--){
                    char temp = arr[x];
                    arr[x] = arr[y];
                    arr[y] = temp;
                }
    
                return new String(arr);
            }
            return null;
        }
    
        //方式二: 使用 String 的拼接
        public String reverse1(String str, int startIndex, int endIndex){
            if (str != null){
                String reverseStr = str.substring(0, startIndex);
    
                for (int i = endIndex; i >= startIndex; i--){
                    reverseStr += str.charAt(i);
                }
    
                reverseStr += str.substring(endIndex + 1);
    
                return reverseStr;
            }
            return null;
        }
        //方式三: 使用 StringBuffer/StringBuilder 替换 String
        public String reverse2(String str, int startIndex, int endIndex){
            if (str != null){
                StringBuffer builder = new StringBuffer(str.length());
    
                builder.append(str.substring(0, startIndex));
    
                for (int i = endIndex; i >= startIndex; i--){
                    builder.append(str.charAt(i));
                }
    
                builder.append(str.substring(endIndex + 1));
    
                return builder.toString();
            }
            return null;
        }
    
        @Test
        public void testReverse(){
            String str = "abcdefg";
    //        String reverse = reverse(str, 2, 5);
    //        String reverse = reverse1(str, 2, 5);
            String reverse = reverse2(str, 2, 5);
            System.out.println(reverse);
        }
    
    }
    

  • 相关阅读:
    数据共享之死锁
    响应式菜单制作
    工作日志2014-07-01
    Thinkphp 无法使用-&gt;order() 排序的两种解决的方法!
    C#
    HDU1232 畅通project 并查集
    Cocos2d-x优化中图片优化
    1.3.4 设计并发友好的应用程序
    UIView的层介绍
    《鸟哥的Linux私房菜-基础学习篇(第三版)》(三)
  • 原文地址:https://www.cnblogs.com/klvchen/p/15216762.html
Copyright © 2011-2022 走看看