A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 叶久瑞 中级黑马   /  2012-8-5 19:03  /  2412 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

需求是这样的:对字符串进行反转。 如:"abcd"-->"dcba";

我使用的是数组的方式实现的反转,代码如下:现在我想知道怎么使用Stringbuffer来进行反转?有知道的帮忙写一下。
public class StringTest3
{
        public static void main(String[] args)
        {

                String str="abcdefgh";
                str = sort(str);
                System.out.println("str="+str);
               
                       
        }

        private static String sort(String str)
        {
                char[] arr=str.toCharArray();
                sortArr(arr);
                return new String(arr);
        }

        private static void sortArr(char[] arr)
        {
                for (int start = 0,end=arr.length-1; start < end; start++,end--)
                {
                        swap(arr,start,end);
                       
                }
        }

        private static void swap(char[] arr, int start, int end)
        {
                char temp=arr[start];
                arr[start]=arr[end];
                arr[end]=temp;
        }

       

}

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1 这个其实有更简单的办法!加油!.

查看全部评分

4 个回复

倒序浏览
String paramString = " 怎么用Stringbuffer来反转字符串";
   
    /** 自己写反转算法 */
   
    char[] value = paramString.toCharArray();
   
    int paramStringLength = paramString.length()-1;
   
    for(int i=paramStringLength》》1;i》=0;i–){
   
    char temp = value[i];
   
    char temp2 = value[paramStringLength-i];
   
    value[i]=temp2;
   
    value[paramStringLength-i]=temp;
   
    }
   
    System.out.println(value);
   
    /** 使用jdk自带反转方法 */
   
    StringBuffer sb = new StringBuffer(paramString);
   
    System.out.println(sb.reverse());
回复 使用道具 举报
呃~~直接调用StringBuffer里的reverse()方法啊~~对于算法java都给我们提供了的,没必要花太多时间,一般我们直接调用里面的方法就可以了~~你只要大致明白就可以了~~
public class Test
{

        public static void main(String[] args)
        {
                String s="abcdefg";
                StringBuffer sb=new StringBuffer(s);
                System.out.println(sb.reverse());
        }
}

结果 :gfedcba
回复 使用道具 举报
樊占江 发表于 2012-8-5 19:08
String paramString = " 怎么用Stringbuffer来反转字符串";
   
    /** 自己写反转算法 */

谢谢你的答案,已解决!
回复 使用道具 举报
官文昌 发表于 2012-8-5 19:22
呃~~直接调用StringBuffer里的reverse()方法啊~~对于算法java都给我们提供了的,没必要花太多时间,一般我 ...

谢谢你的答案,已解决!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马