黑马程序员技术交流社区

标题: 将字符串反转-提问 [打印本页]

作者: zhoubinjian    时间: 2016-4-6 07:14
标题: 将字符串反转-提问
/*
朋友们,以下代码输出不对,我觉得for循环只循环了一次,所以位置才交换了一次,我要的结果是 一个区间的元素交换,大家帮我找下。。不知道那里出了问题
*/
class Demo
{
        public static void main(String[] args)
        {                       
                String s="--ab-cd--";
                sop("<"+s+">");
                sop("<"+sun(s,3,6)+">");
                }       
        public static String sun(String str,int st,int en)
        {
                char[] arr=str.toCharArray();
                swap(arr,st,en);
                return new String(arr);
        }
        public static void res(char[] chs,int c,int d)
        {
                for(int start=c,end=d-1;start<end;start++,end--)
                {
                        swap(chs,start,end);
                }
        }

        public static void swap(char[] a,int x,int y)
        {       
                char temp=a[x];
                        a[x]=a[y];
                        a[y]=temp;       
        }
        public static void sop(Object e)
        {
                System.out.println(e);
        }       
}

6F32.tmp.png (79.84 KB, 下载次数: 9)

6F32.tmp.png

作者: zhoubinjian    时间: 2016-4-6 14:20
{:2_36:}问题已解决,函数sun()里的swap改成res就可以了。。自己粗心大意




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2