码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员_日记23_字符串反转练习

时间:2015-04-10 13:43:03      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:字符串反转   数组反转   

 ——- android培训java培训、期待与您交流! ———-
 
/*
将一个字符串进行反转。将字符串中指定部分进行反转,”abcdefg”;abfedcg

分析功能:
1 功能的结果,反转指定字符串——————–返回值是String类型。
2 有没有未知变量–指定字符串,起始位,结束位。–参数类型是(String str,int start,int end)

思路:因为要指定部分字符串进行反转,就要利用到脚标,继而要利用数组,所以思路如下。
1 把字符串全部转换为字符数组–char[] toCharArray()
2 把数组指定元素反转———-自定义一个功能反转数组reverse()
3 把字符数组全部转换为字符串–构造函数法string new(char[] ch)。或者静态方法static String copyValueOf(char[] ch);
4 将指定反转的部分做参数传递。

数组反转复习:
设置头尾指针,当头指针小于尾指针的时候首尾交换,首尾指针自增的同时尾指针自减。
利用三变量法进行交换操作。

小结:功能要尽量细分,封装,不要全部放一堆,这就是抽象的设计思想,这样以后改起来会很方便的。
注意:功能都是包含头不包含尾的!!
*/

class StringReverseDemo 
{
    public static void main(String[] args) 
    {
        //目标字符串
        String str1 = "abcdefghijk";

        //反转全部字符串
        String str2 = reverseString(str1);
        System.out.println(str2);

        //反转指定字符串
        String str3 = reverseString(str1,0,3);//注意:包含头不包含尾
        System.out.println(str3);

    }

    //反转指定字符串
    public static String reverseString(String str,int start ,int end)
    {
        //1 字符串转字符数组
        char[] CharArray = str.toCharArray();   

        //2 指定数组元素反转
        reverseArray(CharArray,start,end);

        //3 数组转字符串
        return new String(CharArray);       
    }

    //反转全部字符串
    public static String reverseString(String str)
    {
        return reverseString(str,0,str.length());
    }

    //指定数组元素反转
    public static void reverseArray(char[] CharArray,int x,int y)
    {
        //设置头尾指针
        int start = x,end = y-1;

        //当头指针小于尾指针时,首尾交换
        while(start<end)
            swap(CharArray,start++,end--);
    }

    //数组全部反转
    public static void reverseArray(char[] CharArray)
    {
        reverseArray(CharArray,0,CharArray.length);
    }

    //数组指定位置互换操作
    public static void swap(char[] ch,int x,int y)
    {
        //设置一个临时变量,三变量法
        char temp = ch[x];
        ch[x] = ch[y];
        ch[y] = temp;   
    }
}

技术分享

黑马程序员_日记23_字符串反转练习

标签:字符串反转   数组反转   

原文地址:http://blog.csdn.net/itheima_1llt/article/details/44977149

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!